1210 Commits

Author SHA1 Message Date
Rafał Dzięgiel
86898d0782 0.6.1 2024-07-01 17:38:32 +02:00
Rafał Dzięgiel
9f1a4e37fe readme: Update screenshots 2024-07-01 17:38:18 +02:00
Rafał Dzięgiel
c2c1866fa2 clapper-app: metainfo: Add captions to screenshots 2024-06-30 21:31:33 +02:00
Rafał Dzięgiel
278ef6f948 clapper-app: Update LINGUAS file 2024-06-29 18:27:45 +02:00
Rafał Dzięgiel
f5df38a95e clapper-gtk: Update LINGUAS file 2024-06-29 18:27:38 +02:00
Rafał Dzięgiel
c805c1a762 New Crowdin updates (#431)
* New translations clapper-gtk.pot (Portuguese, Brazilian)

* New translations clapper-app.pot (Portuguese, Brazilian)

* New translations clapper-app.pot (Catalan)

* New translations clapper-app.pot (Chinese Simplified)

* New translations clapper-gtk.pot (Chinese Simplified)

* New translations clapper-gtk.pot (Occitan)

* New translations clapper-app.pot (Occitan)
2024-06-29 18:27:26 +02:00
Rafał Dzięgiel
e740827e25 clapper-gtk: billboard: Make transition a tad faster 2024-06-29 18:00:13 +02:00
Rafał Dzięgiel
3213efee5f meson: Do not list Clapper API features when not building it
No need to list API features if API is not being built.

This avoids an issue with meson script error when Clapper API
build is skipped, since these are not declared then.

Fixes #468
2024-06-29 18:00:02 +02:00
Rafał Dzięgiel
7332a05187 clapper-gtk: status: Apply ".osd" style class
Otherwise text is invisible on light themed apps,
since it renders as black letters on a black background
2024-06-29 15:37:35 +02:00
Rafał Dzięgiel
9224716885 clapper-gtk: video: Use "scaletempo" by default
Do not require applications to import GStreamer and their devs to learn its
basics just to set this single element. Similarly as ClapperGtkVideo sets
"clappersink" during construction, it can also set "scaletempo" as this is
the most common choice for an audio filter.

Elements can still be changed like before if desired by setting corresponding
player properties.
2024-06-29 15:37:27 +02:00
Rafał Dzięgiel
3880357af4 clapper-gtk: video: Fix signals disconnection after dispose
A possibility exists that something else keeps a reference to the player
even after video is disposed. In this case signals from the player would
not be disconnected.

We have to disconnect them manually here to ensure their callbacks will
not be used after disposal.
2024-06-29 15:36:51 +02:00
Rafał Dzięgiel
7cd0d3782d clapper-gtk: Ensure private types before template init
We need to ensure types that are not part of public API, otherwise GtkBuilder will fail to use them
(e81aad25a1/gtk/glade/README.glade (L15)).
2024-06-29 15:35:21 +02:00
Rafał Dzięgiel
4118f98e3a clapper: meson: Add additional check for gdbus-codegen
Check at meson level if "gdbus-codegen" is available and otherwise
exit cleanly, possibly building without MPRIS feature instead of failing.
2024-06-29 15:32:53 +02:00
Rafał Dzięgiel
6d9ed849c7 clapper-app: Fix opened file content type detection
Fixes issues with detecting whether file has one of supported subtitles mime types
2024-06-29 15:32:14 +02:00
Rafał Dzięgiel
3b87c86a08 clapper-gtk: Fix GtkWindowControls style when OSD on video 2024-06-29 15:31:48 +02:00
Rafał Dzięgiel
b82a2f19bf clapper-app: Make info window close with Esc key
Fixes #448
2024-06-29 15:31:24 +02:00
Rafał Dzięgiel
f2355aa8c3 clapper: mpris: Fix MPRIS own-name documentation 2024-06-29 15:28:56 +02:00
Rafał Dzięgiel
341b73e455 doc: Add "clapper" GIR path when building "clapper-gtk" doc
Fixes building of clapper-gtk documentation on a clean system
2024-06-29 15:24:46 +02:00
Rafał Dzięgiel
339d321e96 clapper: Small fix for "init_check" doc
The error arg was removed, but documentation was not updated then
2024-05-09 18:55:50 +02:00
Rafał Dzięgiel
7360d5fb6f clapper-gtk: billboard: Documentation fixes
Billboard does not post automatic volume/speed announcements. It did at
some point during development, but it was scrapped in favour of letting
app use callbacks of "notify" signals to call announce speed/volume.
2024-05-09 18:55:42 +02:00
Rafał Dzięgiel
2840415bf6 gst-plugin: Avoid GTK crash after context is destroyed
It seems GTK continues using created contexts, so we cannot unref it here.
Looking at GTK sink implementation for GtkVideo, I see that they do not
unref it either, but since we use surfaceless context it would be probably
better to have a static GstDisplay and reuse the same context in future.
2024-05-09 18:55:32 +02:00
Rafał Dzięgiel
9baaeff212 clapper-gtk: Ignore missing plugins for metadata
Some media files have custom/proprietary metadata.
It should be safe to simply ignore these, since we do
not map metadata to any sort of Clapper stream anyway.

Fixes #441
2024-05-09 18:55:23 +02:00
Max Buchholz
d5fbbd0dd6 Add comment to document categories
Co-authored-by: Rafał Dzięgiel <40623528+Rafostar@users.noreply.github.com>
2024-05-09 18:55:13 +02:00
Max Buchholz
6dbdf0b1ba Complement com.github.rafostar.Clapper.metainfo.xml 2024-05-09 18:54:45 +02:00
Rafał Dzięgiel
2505d343df clapper: Fix MARKER_NO_END value in GIR
Needs a cast from int, otherwise GIR is generated
incorrectly and it ends up as positive number.
2024-05-09 18:49:08 +02:00
Rafał Dzięgiel
4f86e14806 clapper-app: metainfo: Update branding colors
Change to values suggested by Tobias Bernard
2024-05-09 18:48:58 +02:00
Rafał Dzięgiel
e03ceaa224 clapper-app: metainfo: Update app summary
Change to a text suggested by Tobias Bernard
2024-05-09 18:48:48 +02:00
Rafał Dzięgiel
a8467a6d15 flatpak: Sync with Flathub 2024-05-09 18:46:21 +02:00
Rafał Dzięgiel
f0f4801819 0.6.0 2024-04-22 22:27:06 +02:00
Rafał Dzięgiel
b9f3cbef7f clapper-app: metainfo: Add branding colors 2024-04-22 22:04:21 +02:00
Rafał Dzięgiel
772191a396 clapper-app: metainfo: Restore "developer_name" tag
Needed for older appstream compatibility
2024-04-22 21:52:57 +02:00
Rafał Dzięgiel
f4a766ea9d clapper-gtk: seek-bar: Fix marker popover position on RTL
On RTL we need to subtract position from upper scale value to end up at correct coordinates
2024-04-22 21:14:10 +02:00
Rafał Dzięgiel
c928e601bf clapper: Add pipeline debug graph dump support 2024-04-22 20:16:08 +02:00
Rafał Dzięgiel
8fb62d773f New Crowdin updates (#406)
* New translations clapper-app.pot (Polish)

* New translations clapper-gtk.pot (Turkish)

* New translations clapper-app.pot (Turkish)

* New translations clapper-gtk.pot (Turkish)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Turkish)

* New translations clapper-app.pot (Catalan)

* New translations clapper-gtk.pot (Catalan)

* New translations clapper-app.pot (Catalan)

* New translations clapper-gtk.pot (Portuguese)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Hungarian)

* New translations clapper-gtk.pot (Hungarian)

* New translations clapper-app.pot (Hungarian)

* New translations clapper-app.pot (Hungarian)

* New translations clapper-gtk.pot (Romanian)

* New translations clapper-gtk.pot (French)

* New translations clapper-gtk.pot (Spanish)

* New translations clapper-gtk.pot (Afrikaans)

* New translations clapper-gtk.pot (Arabic)

* New translations clapper-gtk.pot (Catalan)

* New translations clapper-gtk.pot (Czech)

* New translations clapper-gtk.pot (Danish)

* New translations clapper-gtk.pot (German)

* New translations clapper-gtk.pot (Greek)

* New translations clapper-gtk.pot (Basque)

* New translations clapper-gtk.pot (Finnish)

* New translations clapper-gtk.pot (Hebrew)

* New translations clapper-gtk.pot (Hungarian)

* New translations clapper-gtk.pot (Italian)

* New translations clapper-gtk.pot (Japanese)

* New translations clapper-gtk.pot (Korean)

* New translations clapper-gtk.pot (Lithuanian)

* New translations clapper-gtk.pot (Dutch)

* New translations clapper-gtk.pot (Norwegian)

* New translations clapper-gtk.pot (Polish)

* New translations clapper-gtk.pot (Portuguese)

* New translations clapper-gtk.pot (Russian)

* New translations clapper-gtk.pot (Slovak)

* New translations clapper-gtk.pot (Serbian (Cyrillic))

* New translations clapper-gtk.pot (Swedish)

* New translations clapper-gtk.pot (Turkish)

* New translations clapper-gtk.pot (Ukrainian)

* New translations clapper-gtk.pot (Chinese Simplified)

* New translations clapper-gtk.pot (Chinese Traditional)

* New translations clapper-gtk.pot (Vietnamese)

* New translations clapper-gtk.pot (Portuguese, Brazilian)

* New translations clapper-gtk.pot (Persian)

* New translations clapper-gtk.pot (Croatian)

* New translations clapper-gtk.pot (Asturian)

* New translations clapper-gtk.pot (German)

* New translations clapper-gtk.pot (Portuguese)

* New translations clapper-app.pot (German)

* New translations clapper-gtk.pot (Turkish)

* New translations clapper-gtk.pot (Catalan)

* New translations clapper-gtk.pot (Finnish)

* New translations clapper-app.pot (Finnish)

* New translations clapper-gtk.pot (Finnish)

* New translations clapper-app.pot (Finnish)

* New translations clapper-gtk.pot (Hungarian)

* New translations clapper-gtk.pot (Hungarian)

* New translations clapper-app.pot (French)

* New translations clapper-gtk.pot (French)

* New translations clapper-app.pot (French)

* New translations clapper-app.pot (Polish)

* New translations clapper-gtk.pot (Polish)

* New translations clapper-app.pot (French)

* New translations clapper-app.pot (Polish)

* New translations clapper-app.pot (Polish)

* New translations clapper-app.pot (Romanian)

* New translations clapper-app.pot (French)

* New translations clapper-app.pot (Spanish)

* New translations clapper-app.pot (Afrikaans)

* New translations clapper-app.pot (Arabic)

* New translations clapper-app.pot (Catalan)

* New translations clapper-app.pot (Czech)

* New translations clapper-app.pot (Danish)

* New translations clapper-app.pot (German)

* New translations clapper-app.pot (Greek)

* New translations clapper-app.pot (Basque)

* New translations clapper-app.pot (Finnish)

* New translations clapper-app.pot (Hebrew)

* New translations clapper-app.pot (Hungarian)

* New translations clapper-app.pot (Italian)

* New translations clapper-app.pot (Japanese)

* New translations clapper-app.pot (Korean)

* New translations clapper-app.pot (Lithuanian)

* New translations clapper-app.pot (Dutch)

* New translations clapper-app.pot (Norwegian)

* New translations clapper-app.pot (Polish)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Russian)

* New translations clapper-app.pot (Slovak)

* New translations clapper-app.pot (Serbian (Cyrillic))

* New translations clapper-app.pot (Swedish)

* New translations clapper-app.pot (Turkish)

* New translations clapper-app.pot (Ukrainian)

* New translations clapper-app.pot (Chinese Simplified)

* New translations clapper-app.pot (Chinese Traditional)

* New translations clapper-app.pot (Vietnamese)

* New translations clapper-app.pot (Portuguese, Brazilian)

* New translations clapper-app.pot (Persian)

* New translations clapper-app.pot (Croatian)

* New translations clapper-app.pot (Asturian)
2024-04-21 23:24:54 +02:00
Rafał Dzięgiel
f299e1be57 Merge pull request #420 from Rafostar/prerelease-updates
Prerelease updates
2024-04-21 22:48:16 +02:00
Rafał Dzięgiel
9f38f527be clapper-app: Sync POT file 2024-04-21 20:25:15 +02:00
Rafał Dzięgiel
10f626637b Update install steps in README.md 2024-04-21 19:58:44 +02:00
Rafał Dzięgiel
22c93c00f7 clapper-app: gschema: Fix gettext-domain value
In rewritten code "clapper-app" is used for gettext
2024-04-21 19:50:05 +02:00
Rafał Dzięgiel
7a38b605b3 clapper-app: metainfo: Update values
Update description and some other values. Also update whatever
was nowadays considered as deprecated in metainfo guidelines.
2024-04-21 16:07:28 +02:00
Rafał Dzięgiel
5c41c3a8c7 clapper-app: metainfo: Fix invalid values
Flathub validation no longer allows words for "display_length" - should be 360.
Also all "Purism" keys are nowadays invalid. They cause problems as metainfo is
parsed into hash table, thus there cannot be multiple keys with the same name.
2024-04-21 15:22:17 +02:00
Rafał Dzięgiel
51e1dd8493 Remove .gitattributes file
All linguist-vendored stuff was removed, so this git attributes file is unused and no longer needed.
2024-04-20 12:09:41 +02:00
Rafał Dzięgiel
654e6be72a clapper-app: Be more restrictive about key modifiers
Ignore key presses with additional modifiers if we describe them
in shortcuts as sole letters. Combinations might be needed in the future.
2024-04-19 23:10:14 +02:00
Rafał Dzięgiel
681da9e2f3 clapper-gtk: video: Add workaround for better GStreamer 1.24 support 2024-04-19 16:51:44 +02:00
Rafał Dzięgiel
36c166813e clapper-gtk: video: Support finding widget within bin elements
When a video sink is set to some bin, also check sinks within it
in search for a widget that can be used as video main child
2024-04-19 16:39:08 +02:00
Rafał Dzięgiel
2aecd65735 clapper-app: help-overlay: Update progression key accelerator
We allow just "p" key (including any combination with it) for changing
progression mode. Fix its description in help overlay to be just "p" then.

Fixes #417
2024-04-17 19:11:02 +02:00
Rafał Dzięgiel
a46846c24d clapper-app: Use "GDK_MODIFIER_MASK" with key controller state
We need to use "GDK_MODIFIER_MASK" to remove all private fields from key
controller state mask, otherwise its not zero on Xorg.

Fixes #416
2024-04-17 18:26:16 +02:00
Rafał Dzięgiel
fab168283d clapper: player: Make GstElement setters nullable
Allow to set NULL in order to use default value. With this, API users
will not have to check if the element they make from registry is not NULL.
2024-04-16 19:07:16 +02:00
Rafał Dzięgiel
1b38a169dd clapper-gtk: video: Debug message with used video sink
So we can know from debug logging what sink someone is using
2024-04-16 19:03:34 +02:00
Rafał Dzięgiel
a00aea50b0 Merge pull request #413 from Rafostar/workflows
Update workflows
2024-04-15 22:46:58 +02:00
Rafał Dzięgiel
6fc2c78d59 Remove unused OBS service file
This file was referencing build scripts that are no longer in this repo.
An up-to-date OBS config is kept in my opensuse build system account itself.
2024-04-15 22:43:04 +02:00
Rafał Dzięgiel
85038a669f clapper-app: Restore "q" to quit app shortcut
We used to have this and some other players (e.g. Totem) have it too, so no harm in restoring it.
2024-04-15 20:53:32 +02:00
Rafał Dzięgiel
484f2402a3 flatpak-nightly: Update manifest
In latest git, binary name is now simply "clapper". Also we now depend on libmicrodns for the server feature to be available.
2024-04-15 20:07:07 +02:00
Rafał Dzięgiel
1a0158e775 flatpak-nightly: Build dav1d from git master 2024-04-14 20:36:25 +02:00
Rafał Dzięgiel
1d92539b76 clapper-gtk: Various documentation cleanups and fixes 2024-04-14 20:17:38 +02:00
Rafał Dzięgiel
bab3d34349 clapper: Various documentation cleanups and fixes 2024-04-14 20:17:12 +02:00
Rafał Dzięgiel
e751428d6c workflows: Update to use latest versions of actions 2024-04-14 17:23:33 +02:00
Rafał Dzięgiel
a9769f9537 gst-plugin: sink: Stop preferring GL over GLES with GStreamer 1.24+
GStreamer 1.24 have implemented DRM modifiers negotiation that its lack of we were
working around with using GL on unpatched GStreamer (non-Flatpak builds).

Since GStreamer 1.24 does this and moreover it has disabled DMABuf codepath for
non-GLES we should start preferring GLES with this version always.
2024-04-14 15:47:20 +02:00
Rafał Dzięgiel
fe6b3fcf29 clapper-app: Fix window buttons on initial state
Also handle different buttons placements on initial state, similarly as we do now in headerbar.
With this commit, application menu is replicated in initial state UI, but its actually a good thing,
since this will allow us to have more current video related items in it only in main window.
2024-04-14 15:11:18 +02:00
Rafał Dzięgiel
6447944b21 clapper-app: Handle alternative headerbar buttons placements
Handle all possible combinations of window state buttons placement.
These are "right" and "left" combined along with either LTR or RTL.

Fixes #402
2024-04-13 18:32:36 +02:00
Rafał Dzięgiel
42fa31cc4b Merge pull request #404 from Rafostar/scroll-fixes
Scroll fixes
2024-04-13 14:28:23 +02:00
Rafał Dzięgiel
4baade3b32 Merge pull request #408 from sp1ritCS/devenv
meson: Ensure clapper uses local translations within the devenv
2024-04-12 21:38:16 +02:00
Florian "sp1rit"​
bcd8e470ad po: Updated German translation
I've taken a bit of liberty with some of the translations, but I feel
like they should be fine.

Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2024-04-12 20:57:04 +02:00
Florian "sp1rit"​
3841a906fd meson: Ensure clapper uses local translations within the devenv
This patch modifies the initialization routines of clapper to check for
    CLAPPER_GTK_OVERRIDE_LOCALEDIR and
    CLAPPER_APP_OVERRIDE_LOCALEDIR
and uses that instead of the LOCALEDIR specified in the config.h.

It also fixes the bug where libclapper-gtk loads the translations for
the clapper application and the clapper application loads the
translations for the libclapper-gtk. (It took me shockingly long to
figure out why the translations weren't working 🙃)

Co-authored-by: Rafał Dzięgiel <rafostar.github@gmail.com>
Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2024-04-12 20:38:46 +02:00
Rafał Dzięgiel
5e7305516e clapper-gtk: Update POT file 2024-04-12 20:29:30 +02:00
Rafał Dzięgiel
f1ef299c10 clapper-gtk: status: Fix missing translations 2024-04-12 20:28:23 +02:00
Rafał Dzięgiel
1606a165e4 clapper-gtk: extra-menu-button: Use "Show Subtitles" text
As pointed in #410, the word "Enabled" and a checkmark next to it is a bad UX.
Change this text to "Show Subtitles" instead.
2024-04-12 20:25:49 +02:00
Rafał Dzięgiel
87f51c6755 clapper: Also update decoders after preroll
Sometimes decoders might not be active yet until media starts playing, to fix that being racy also try to update them after preroll
2024-04-12 20:22:48 +02:00
Rafał Dzięgiel
ca73b3a3ef clapper-gtk: extra-menu-button: Make text->number conversion more forgiving
Try to parse into a number as much of the string as possible, without caring
about a sign suffix. This way input will be more forgiving instead of resetting
itself to lowest allowed number.

Also when a number exceeds allowed range, set it to maximal allowed value
instead of once again resetting to minimum.
2024-04-11 20:49:36 +02:00
Rafał Dzięgiel
6f1277a2e6 server: Fix invalid JSON caused by locale decimal conversion
When creating JSON data, we must ensure that our decimal numbers are converted
to a string with a "." as separator, otherwise it would be an invalid JSON.
2024-04-11 20:20:37 +02:00
Rafał Dzięgiel
76f830fa6e Merge pull request #409 from sp1ritCS/fix_pbspeed
clapper-gtk/extra-menu: Fixed speed being forced to the lowest value
2024-04-11 20:07:44 +02:00
Florian "sp1rit"​
a63d92601f clapper-gtk/extra-menu: Fixed speed being forced to the lowest value
As the SpinButton input callback attempted to parse the value inserted
as a string by printf using g_ascii_strtod, only if the language also
used . (full stop / u002E) as decimal seperator worked correctly.
Otherwise, parsing would fail and result (after a few iterations) in the
lowest value being set.

The usually correct approach is to use g_ascii_dtostr / g_ascii_formatd
instead of printf to format a decimal number, but given that this number
is actually presented to the user, going with g_strtod seems like a
better choice (I've decided against just using the stdlib strtod as to
allow the SpinButton to also recognize manual user input containing the
full stop  instead of their languages native decimal seperator (not
that that'll ever happen, given the user can't focus the SpinButton
entry while media is running).

I've also fixed this for the volume SpinButton too, but it wasn't really
affected in the first place as it appearently always gets rounded up to
a number without decimal places.

Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2024-04-10 12:26:50 +02:00
Rafał Dzięgiel
0c9973ef85 Add .flatpak-builder to .gitignore 2024-04-09 20:02:31 +02:00
Rafał Dzięgiel
65c974d539 Merge pull request #407 from sp1ritCS/devenv
Allow clapper to be ran within the meson devenv
2024-04-09 17:21:54 +02:00
Florian "sp1rit"​
43e2e88a4c meson: Use gnome.compile_schemas()
This causes meson to automatically build the clapper gsettings schemas
and set GSETTINGS_SCHEMA_DIR to the correct location within the devenv.

This means that can now be ran without needing to install it somewhere
using:
    meson devenv -C <builddir>
    clapper
    exit

More devenv overrides should be investigated (such as automatically
adopting the correct directory for translated locales etc.)

Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2024-04-09 11:39:32 +02:00
Rafał Dzięgiel
c327734ca6 clapper-app: Do not trigger default scroll handler on GtkRange
In addition to GtkScrolledWindow, when also hovering over GtkRange
subclassing widgets like GtkScale, do not trigger accidentally
default app window scroll handler.

We want the hovered upon widget and only that widget to handle scroll
events in such case.
2024-04-08 20:37:32 +02:00
Rafał Dzięgiel
48b5a7c12a Remove TODO.md
Most of it was implemented and what is left already has an open issue which is easier to track progress
2024-04-08 19:07:21 +02:00
Rafał Dzięgiel
1dd47ad2a9 Remove old translation files
They are no longer used and translated strings from them were moved to new files
2024-04-08 19:04:35 +02:00
Rafał Dzięgiel
fbeafbccd1 crowdin: Remove legacy app translations
Now that old translated strings are moved to new .po files, remove what is left unused.
2024-04-08 18:34:12 +02:00
Rafał Dzięgiel
f391e2ea87 New Crowdin updates (#405)
* New translations clapper-gtk.pot (Romanian)

* New translations clapper-gtk.pot (French)

* New translations clapper-gtk.pot (Spanish)

* New translations clapper-gtk.pot (Afrikaans)

* New translations clapper-gtk.pot (Arabic)

* New translations clapper-gtk.pot (Catalan)

* New translations clapper-gtk.pot (Czech)

* New translations clapper-gtk.pot (Danish)

* New translations clapper-gtk.pot (German)

* New translations clapper-gtk.pot (Greek)

* New translations clapper-gtk.pot (Basque)

* New translations clapper-gtk.pot (Finnish)

* New translations clapper-gtk.pot (Hebrew)

* New translations clapper-gtk.pot (Hungarian)

* New translations clapper-gtk.pot (Italian)

* New translations clapper-gtk.pot (Japanese)

* New translations clapper-gtk.pot (Korean)

* New translations clapper-gtk.pot (Lithuanian)

* New translations clapper-gtk.pot (Dutch)

* New translations clapper-gtk.pot (Norwegian)

* New translations clapper-gtk.pot (Polish)

* New translations clapper-gtk.pot (Portuguese)

* New translations clapper-gtk.pot (Russian)

* New translations clapper-gtk.pot (Slovak)

* New translations clapper-gtk.pot (Serbian (Cyrillic))

* New translations clapper-gtk.pot (Swedish)

* New translations clapper-gtk.pot (Turkish)

* New translations clapper-gtk.pot (Ukrainian)

* New translations clapper-gtk.pot (Chinese Simplified)

* New translations clapper-gtk.pot (Chinese Traditional)

* New translations clapper-gtk.pot (Vietnamese)

* New translations clapper-gtk.pot (Portuguese, Brazilian)

* New translations clapper-gtk.pot (Persian)

* New translations clapper-gtk.pot (Croatian)

* New translations clapper-gtk.pot (Asturian)

* New translations clapper-app.pot (Romanian)

* New translations clapper-app.pot (French)

* New translations clapper-app.pot (Spanish)

* New translations clapper-app.pot (Afrikaans)

* New translations clapper-app.pot (Arabic)

* New translations clapper-app.pot (Catalan)

* New translations clapper-app.pot (Czech)

* New translations clapper-app.pot (Danish)

* New translations clapper-app.pot (German)

* New translations clapper-app.pot (Greek)

* New translations clapper-app.pot (Basque)

* New translations clapper-app.pot (Finnish)

* New translations clapper-app.pot (Hebrew)

* New translations clapper-app.pot (Hungarian)

* New translations clapper-app.pot (Italian)

* New translations clapper-app.pot (Japanese)

* New translations clapper-app.pot (Korean)

* New translations clapper-app.pot (Lithuanian)

* New translations clapper-app.pot (Dutch)

* New translations clapper-app.pot (Norwegian)

* New translations clapper-app.pot (Polish)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Russian)

* New translations clapper-app.pot (Slovak)

* New translations clapper-app.pot (Serbian (Cyrillic))

* New translations clapper-app.pot (Swedish)

* New translations clapper-app.pot (Turkish)

* New translations clapper-app.pot (Ukrainian)

* New translations clapper-app.pot (Chinese Simplified)

* New translations clapper-app.pot (Chinese Traditional)

* New translations clapper-app.pot (Vietnamese)

* New translations clapper-app.pot (Portuguese, Brazilian)

* New translations clapper-app.pot (Persian)

* New translations clapper-app.pot (Croatian)

* New translations clapper-app.pot (Asturian)
2024-04-08 18:22:06 +02:00
Rafał Dzięgiel
37bf374283 crowdin: Add new translation paths to config 2024-04-08 17:33:41 +02:00
Rafał Dzięgiel
1327dc23e4 clapper-gtk: Fix seek bar touchpad scrolling
Since we only do seek on scale drop, handle scrubbing using touchpad
the same way by marking it as "dragging" after scrubbing starts and
doing seek after it ends.
2024-04-07 20:08:53 +02:00
Rafał Dzięgiel
6e17996691 clapper-app: Fix wrong direction of touchpad scrolling
We should not invert axis. Otherwise its opposite compared to the same gesture performed on GtkScale.
2024-04-07 20:05:20 +02:00
Rafał Dzięgiel
606b9c5170 Update README.md 2024-04-06 18:17:38 +02:00
Rafał Dzięgiel
e4814877de Merge pull request #374 from Rafostar/libclapper
Introduce Clapper libraries
2024-04-05 22:30:55 +02:00
Rafał Dzięgiel
6b135d51f3 flatpak: Switch to using Adelie Linux a52dec
Original repo is removed, change to maintained fork.
Others are doing the same e.g. FreeBSD
2024-04-05 21:18:46 +02:00
Rafał Dzięgiel
1a52576be3 flatpak: Update Flatpak manifests
Update GitHub Flatpak builds to latest runtime version, add new libs
that we need and remove the ones that are not needed anymore.
2024-04-05 21:18:42 +02:00
Rafał Dzięgiel
cc004a8144 bin: Rewrite Clapper player binary
A rewritten Clapper video player made using "Clapper" and "ClapperGtk" libraries.

Since both libraries from this repo are in C, newly rewritten Clapper binary is also in C to
avoid mixing different programming languages in a single repo, thus making maintenance easier.
Not depending on GJS gives us also an additional benefit of supporting different operating
systems or linux shells without pulling GJS as dependency.

Licensed under GPL-3.0-or-later.
2024-04-05 21:18:39 +02:00
Rafał Dzięgiel
675ddc85a1 lib: Introduce Clapper GTK integration library
An easy to use GTK integration library. Meant as a GtkVideo alternative.

While GtkVideo is more of a simple example of video playback under GTK4, this
acts as a full-fledged video player in the form of a GtkWidget that can be placed
anywhere within application.

The widget offers customization options for both top header and bottom playback
controls panels. The Clapper playback API is exposed under widget "player" property
making it easy for the programmer to set media and control playback programically.

The new library will be distributed with Clapper player. This includes public headers
and GObject Introspection support.

Licensed under LGPL-2.1-or-later.
2024-04-05 21:18:35 +02:00
Rafał Dzięgiel
d7f069d6c3 lib: Introduce Clapper playback library
An easy to use media playback library (libclapper) as a GstPlayer replacement.

Previously we tried to use upstream `gstplayer` library to control playback and
pass all events from multiple threads GStreamer uses into an app main thread.
Since this caused some thread racy problems and we needed additional ABI breaking
changes to better suit our needs, we ended up with a modified fork of said library
renamed to `gstclapper` as a temporary solution.

This new library simply named `clapper` replaces our previous `gstclapper` solution
and is written completely from scratch by myself. The aim here is to have an easy to
use playback library better suited to work with (but not limited to) GTK and GObject
properties bindings by relying on "notify" signals.

Major differences include:
* Operates on a playback queue (inherits `GListModel` interface) instead of a single URI
* Uses "notify" signals for property changes always dispatched to app thread
* Time is passed/read as decimal number in seconds instead of int64 in nanoseconds
* Integrates `GstDiscoverer` to figure out media info (such as title) before playback
* Easy to use MPRIS support as part of library
* Optional playback remote controls with WebSocket messages

The new library will be distributed with Clapper player. This includes public headers
and GObject Introspection support.

Licensed under LGPL-2.1-or-later.

Enjoy
2024-04-05 21:18:08 +02:00
Rafał Dzięgiel
edaba00658 Merge pull request #378 from TriVoxel/master
Add standard shortcut for preferences
2023-10-31 21:19:30 +01:00
Rafał Dzięgiel
8cf3e57d51 Merge pull request #385 from Rafostar/nightly-fix
flatpak-nightly: Update to 23.08 runtime
2023-10-31 18:49:37 +01:00
Rafał Dzięgiel
32723c49ad flatpak-nightly: Update to 23.08 runtime 2023-10-30 23:08:37 +01:00
cadenmitchell
058844c010 Add standard shortcut for preferences 2023-09-06 12:53:01 -06:00
Rafał Dzięgiel
b4aaea1940 Merge pull request #364 from Rafostar/ws-fix
webServer: Listen on all interfaces
2023-06-27 19:58:49 +02:00
Rafał Dzięgiel
2dd08b7b33 webServer: Listen on all interfaces
Listen on all network interfaces for incoming connections.

Previous soup_server_listen_local() only listens on local
loopback device preventing access from network, so use
listen_all() instead to allow access through any interface.

Fixes #362
2023-06-27 18:44:59 +02:00
Rafał Dzięgiel
086b134483 flatpak: Sync with Flathub 2023-06-05 21:25:05 +02:00
Rafał Dzięgiel
9da04c549b Update LINGUAS file 2023-06-05 21:22:40 +02:00
Rafał Dzięgiel
ac7ec5fc12 New Crowdin updates (#355)
* New translations com.github.rafostar.Clapper.pot (Croatian)

* New translations com.github.rafostar.Clapper.pot (Swedish)
2023-06-05 21:17:45 +02:00
Rafał Dzięgiel
6e705485f5 Merge pull request #354 from milotype/Croatian-translation
Croatian translation
2023-05-06 20:31:30 +02:00
Rafał Dzięgiel
18caee32d7 New Crowdin updates (#348)
* New translations com.github.rafostar.Clapper.pot (Lithuanian)

* New translations com.github.rafostar.Clapper.pot (Finnish)
2023-05-05 13:51:08 +02:00
Milo Ivir
c7590b653b Add Croatian translation 2023-05-03 19:05:52 +02:00
Milo Ivir
dce74148a7 Add hr for Croatian 2023-05-03 19:05:17 +02:00
Rafał Dzięgiel
5ed9861530 Merge pull request #349 from g7/rotation
Allow detecting and setting media rotation
2023-05-02 20:47:58 +02:00
Rafał Dzięgiel
3f86b236d9 flatpak: Sync with Flathub 2023-04-29 16:38:58 +02:00
Eugenio Paolantonio (g7)
e275c3017a plugin: sink: allow detecting and/or setting media rotation. Fixes #310
GstClapperSink now allows to specify the media rotation via the `rotation`
property, which should be of type GstVideoOrientationMethod.

The default behaviour is to detect the media rotation automatically.

Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2023-04-23 22:43:22 +02:00
Eugenio Paolantonio (g7)
4e250c8f2a plugin: paintable: Support setting media rotation. Contributes to #310
Rotation can be set by passing a GstVideoOrientationMethod to the
gst_clapper_paintable_set_rotation() function.

The actual rotation is done through GskTransforms directly on the
Snapshot.

Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2023-04-23 22:24:29 +02:00
Eugenio Paolantonio (g7)
7fc93fbebc plugin: Add helper to get the actual width and height for a specific rotation
Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2023-04-23 22:24:29 +02:00
Rafał Dzięgiel
bf52197896 plugin: Present fallback window right after assembled UI
When started from gst-play/launch-1.0 show window right after it was created.
No need to idle dispatch window present when changing state, since we are
already on correct thread when opening resources using start() method.
2023-02-12 13:53:51 +01:00
Rafał Dzięgiel
9556ec4da2 plugin: Ensure allocation using the same importer
Instead of locking mutex twice and praying that importer will not change in between, just ref it to ensure that
2023-02-12 13:16:18 +01:00
Rafał Dzięgiel
bd8f0280e2 plugin: Check importer presence before proposing allocation
In some cases importer might not be determined here yet.
Check if we have it to avoid a crash.
2023-02-09 11:38:36 +01:00
Rafał Dzięgiel
40b6f4c724 Update LINGUAS file 2023-01-08 19:00:16 +01:00
Rafał Dzięgiel
456d621ee3 New Crowdin updates (#332)
* New translations com.github.rafostar.Clapper.pot (Slovak)
2023-01-08 18:57:28 +01:00
Rafał Dzięgiel
263d3f8196 Merge pull request #324 from Rafostar/flatpak-translated
flatpak: Build with translations included
2023-01-08 18:54:20 +01:00
Rafał Dzięgiel
44db8c0d3b flatpak: Sync with Flathub 2023-01-07 18:55:01 +01:00
Rafał Dzięgiel
272e3a036c flatpak-nightly: Build with translations included
Flatpak git action does not support uploading a separate .Locale runtime.
Build it as part of the main app then.
2022-11-18 22:51:20 +01:00
Rafał Dzięgiel
540c294b2a flatpak: Build with translations included
Flatpak git action does not support uploading a separate .Locale runtime.
Build it as part of the main app then.
2022-11-18 22:50:54 +01:00
Rafał Dzięgiel
6c5753db53 Merge pull request #317 from Rafostar/gnome43
flatpak: Update to GNOME 43
2022-10-14 08:13:17 +02:00
Rafał Dzięgiel
a25bfa5418 flatpak: Update to GNOME 43
Update git actions builds to GNOME 43 runtime. #315
2022-10-13 20:54:26 +02:00
Rafał Dzięgiel
aaa3f6c4da Merge pull request #316 from Rafostar/nights
Update nightly Flatpak builds
2022-10-10 22:45:48 +02:00
Rafał Dzięgiel
845de1db8b flatpak-nightly: Only build GStreamer Rust plugins on x64
We are no longer able to build them on aarch64, as CI either runs out of memory or time limit
2022-10-10 18:06:32 +02:00
Rafał Dzięgiel
301e1f2ade flatpak-nightly: Skip compiling libadwaita
Nightly has now newer version, so we do not need to build it ourselves anymore
2022-10-09 20:17:56 +02:00
Rafał Dzięgiel
ff5091e7d3 flatpak-nightly: Update to llvm14 2022-10-09 15:00:22 +02:00
Rafał Dzięgiel
0d74fbb3e6 workflow: Update Flatpak nightly to 22.08 2022-10-09 14:22:19 +02:00
Rafał Dzięgiel
9d6ec43b0a Merge pull request #312 from jakedane/jakedane-patch-1
plugin: sink: Replace deprecated method
2022-09-28 22:10:40 +02:00
Jake Dane
cbc3061714 plugin: sink: Replace deprecated method
The method gtk_picture_set_keep_aspect_ratio is deprecated. As per the
warnings given when compiling clapper, it is replaced with
gtk_picture_set_content_fit with the same behavior as before.
2022-09-27 20:50:16 +02:00
Rafał Dzięgiel
d8b02824f3 Update gitattributes
The contents of extras and lib/plugin folders should not be marked as linguist-vendored since they include only my own code made for Clapper. Lets include them in git stats.
2022-09-07 13:15:34 +02:00
Rafał Dzięgiel
dd255dd337 New translations com.github.rafostar.Clapper.pot (Persian) (#305) 2022-09-03 20:40:35 +02:00
Rafał Dzięgiel
447c6f30d0 meson: Validate appstream file with "--nonet" arg
We do not need network connection to validate our appstream file.
Make it easier to run tests in containers that do not have network access.

Closes #307
2022-07-31 19:12:42 +02:00
Rafał Dzięgiel
afa06d4579 Merge pull request #299 from Rafostar/web-fix
api: Do not set default user-agent string
2022-07-25 10:23:27 +02:00
Rafał Dzięgiel
b04bf11c42 api: Do not set default user-agent string
Similarly as with other properties, we should aim to make this into user config option.
For the time being remove, as our outdated default user-agent seems to be breaking
few HLS streaming services.
2022-07-24 19:39:11 +02:00
Rafał Dzięgiel
939f75763d Merge pull request #302 from Rafostar/crowdin_sync
New Crowdin updates
2022-07-21 18:07:18 +02:00
Rafał Dzięgiel
d4c44049ca New translations com.github.rafostar.Clapper.pot (Chinese Simplified) 2022-07-18 10:48:44 +02:00
Rafał Dzięgiel
11c27eccaa Merge pull request #279 from Rafostar/fix-gl-caps
Make GL caps negotiation check what HW supports
2022-07-04 18:51:45 +02:00
Rafał Dzięgiel
823cb0a894 Update LINGUAS file 2022-07-04 18:20:40 +02:00
Rafał Dzięgiel
b27db1ac22 New Crowdin updates (#283)
* New translations com.github.rafostar.Clapper.pot (Persian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Asturian)
2022-07-04 18:16:55 +02:00
Rafał Dzięgiel
564c6e7299 flatpak: Sync with Flathub 2022-07-04 12:30:27 +02:00
Rafał Dzięgiel
6f4632d940 New translations com.github.rafostar.Clapper.pot (German) (#282) 2022-06-24 20:23:50 +02:00
Rafał Dzięgiel
23bb253ca2 0.5.2 2022-06-24 10:05:02 +02:00
Rafał Dzięgiel
8ebf4e3b2f plugin: gluploader: Check for formats actually supported
Do not assume that HW can do every format that GLUpload/GLColorConvert can.
Check what video formats GL context actually supports and advertise that,
so a format that HW cannot do will never be picked up.
2022-06-16 15:41:44 +02:00
Rafał Dzięgiel
04a028d689 plugin: Rework code to use new GL context handler
Create a GL context handler subclass of recently added context handler base class and
rework code to use it. This simplifies a lot of things, like: switching of importers
at runtime, handling context queries, sharing data between importers, etc.
2022-06-16 15:41:30 +02:00
Rafał Dzięgiel
0920914b89 plugin: Add context handler base class
In order to bridge work with GL between GTK and GStreamer reliably, we need to create and
check context capabilities ahead of time. We also need to be able to query context at any
time during playback. Also we should avoid changing importers on context queries, this can
lead to all sort of problems.

To be able to achieve all of above, introduce new context handler base class that works
separately of importers.
2022-06-12 13:58:51 +02:00
Rafał Dzięgiel
2343e84a41 plugin: Use set_static_metadata in class init
Use static version of this function, so our static strings will not be copied
2022-06-06 21:04:17 +02:00
Rafał Dzięgiel
c288223321 Merge pull request #278 from Rafostar/flatpak-gvfs
flatpak: Add missing GVFS access permissions
2022-06-06 20:48:53 +02:00
Rafał Dzięgiel
2ba6645462 flatpak-nightly: Add missing GVFS access permissions
Needed to make GVFS mounted filesystems work with GVFS 1.48+.
See: https://docs.flatpak.org/en/latest/sandbox-permissions.html#gvfs-access
2022-06-06 09:32:12 +02:00
Rafał Dzięgiel
adcbb5d827 flatpak: Add missing GVFS access permissions
Needed to make GVFS mounted filesystems work with GVFS 1.48+.
See: https://docs.flatpak.org/en/latest/sandbox-permissions.html#gvfs-access
2022-06-06 09:31:55 +02:00
Rafał Dzięgiel
9885a2f424 Merge pull request #275 from Rafostar/smart-colon
Use U+003A colon character on RTL languages
2022-06-03 16:17:27 +02:00
Rafał Dzięgiel
66b2d8c7de plugin: Also use min GL version when auto selecting context
When we prefer GLES, make sure its no lower then 3.1 version, so it can color convert 10bit videos,
otherwise core GL 3.2 that GTK4 normally defaults to takes precedence.

With auto behavior we should select the best one, both performance and support wise.
Otherwise user can request one or another with GST_GL_API env that works best
with his specific HW.
2022-06-03 14:36:34 +02:00
Rafał Dzięgiel
2c5d65d0b3 flatpak: Sync with Flathub 2022-06-02 14:08:17 +02:00
Rafał Dzięgiel
e37f2a0a30 Use U+003A colon character on RTL languages
Unfortunately U+2236 seems to break time labels on RTL languages. Check text direction at startup and select best one that works.
2022-06-01 17:09:39 +02:00
Rafał Dzięgiel
387bc7a2f3 Update LINGUAS file 2022-06-01 16:44:05 +02:00
Rafał Dzięgiel
495a59a07a New Crowdin updates (#274)
* New translations com.github.rafostar.Clapper.pot (Hebrew)
2022-06-01 16:41:59 +02:00
Rafał Dzięgiel
e5723cd25a 0.5.1 2022-05-29 14:17:25 +02:00
Rafostar
e7808df7cc plugin: paintable: Fix widget size calculations on non-100% display scaling
Unlike legacy sink that used GLArea, GdkPaintable snapshots without pre-multiplying
sizes with scale factor. Remove scaling multiply of our widget dimensions,
so both video and widget width/height will be calculated correctly.

This fixes both image and black borders displaying issues on displays with
non-100% scaling applied.
2022-05-29 10:19:48 +02:00
Rafał Dzięgiel
8f22b36045 0.5.0 2022-05-28 19:19:05 +02:00
Rafał Dzięgiel
dc257846ce New Crowdin updates (#268)
* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Basque)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (German)
2022-05-27 19:48:48 +02:00
Rafał Dzięgiel
af77873205 plugin: paintable: Remove unused value 2022-05-27 19:46:54 +02:00
Rafał Dzięgiel
5289b2f0a4 plugin: Fix scaled subtitles position on anamorph video
GStreamer does not take pixel aspect ratio into account for overlay rectangles.
If we do so, we end up with subtitles that are displayed off-center.
Behave like any other GStreamer sink on this matter.
2022-05-27 19:38:10 +02:00
Rafał Dzięgiel
87b3fbc15a Update POT file 2022-05-26 18:43:34 +02:00
Rafał Dzięgiel
59ff5bc006 Merge pull request #267 from Rafostar/fix-glx
Fix caps negotiation on GLX
2022-05-26 11:51:11 +02:00
Rafał Dzięgiel
91efc4ecdb plugin: gluploader: Use GLUpload provided propose_allocation method
Instead figuring out what kind of pool we should make just use the upstream provided
functionality that comes as part of GLUpload API.

Fixes uploads with GstVideoGLTextureUploadMeta, which legacy VAAPI plugin uses on GLX.
2022-05-26 10:21:11 +02:00
Rafał Dzięgiel
713449b4ab plugin: sink: Only add pool to query if there is one 2022-05-26 10:17:36 +02:00
Rafał Dzięgiel
3f7ba0674f plugin: importers: Support different template and actual caps
Make a template caps during class_init. It will be used for e.g. gst-inspect-1.0, while do and use an actual caps that current HW can handle.
2022-05-25 20:37:18 +02:00
Rafał Dzięgiel
5b89879031 plugin: gluploader: Remove DMABuf caps features on GLX
GLX cannot do DMABufs. Do not advertise its support in caps, so upstream elements will never try using this kind of memory on GLX.
2022-05-25 15:46:04 +02:00
Rafał Dzięgiel
2385af9b94 Merge pull request #265 from Rafostar/devel
Merge devel branch changes
2022-05-25 10:42:35 +02:00
Rafał Dzięgiel
54e4644236 app: Call window_present without timestamp
GTK4 now handles this internally via xdg-activation. To make it work correctly we should stop using custom timestamp so default handlers will be used.
2022-05-24 18:23:15 +02:00
Rafał Dzięgiel
3c248250f3 plugin: Always make sure we have Gdk display
Give up creating GL context in an unlikely situation that there is no default display
2022-05-24 16:48:00 +02:00
Rafał Dzięgiel
51619cbd2a plugin: Temporarily try to avoid direct DMABuf import on desktop
This tries to avoid "scrambled" image on Linux with Intel GPUs that are mostly used
together with x86 CPUs at the expense of using slightly slower non-direct DMABuf import,
by not going with GLES by default on EGL.

The "GST_GL_API" env can still be used to force one or another context type.

We need for GStreamer to be aware of currently used DRM modifier first. On the other
hand forcing GL everywhere would break most embedded systems that only work with GLES,
so do it for x86 processors only... and pray for it to work.

See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1236
2022-05-24 16:36:43 +02:00
Rafał Dzięgiel
f9e84ac99b plugin: Improve GL context realization code
We only want GLES on EGL display, so check for it one by one instead of always trying to realize GLES with everything that is not a macOS
2022-05-24 16:36:32 +02:00
Rafał Dzięgiel
1bd371dabd app: Always activate before opening files
Make sure app window was created and bring it on top when started with file(s) as args
2022-05-23 15:32:32 +02:00
Rafał Dzięgiel
5f6c0922c0 plugin: Clear paintable importer in dispose
Remove our ref on importer a little earlier, with a lock taken
2022-05-23 15:02:25 +02:00
Rafał Dzięgiel
041deb559c headerbar: Merge code into single subclass
We no longer ship the web app that was reusing parts of this code.
Combine it into single file without additional subclass.
2022-05-23 14:19:37 +02:00
Rafał Dzięgiel
fce8ec59b8 app: Merge code into single subclass
We no longer ship the web app that was reusing parts of this code.
Combine it into single file without additional subclass.

Also put window creation inside first activate code instead of startup
in order to fix running app as a gapplication service.
2022-05-23 14:18:00 +02:00
Rafał Dzięgiel
306505dc4d data: Add missing desktop file options
Mark as DBusActivatable and enable StartupNotify
2022-05-23 11:55:15 +02:00
Rafał Dzięgiel
60234419c2 data: Add DBus service file 2022-05-23 11:54:50 +02:00
Rafał Dzięgiel
c395c6b9be Merge pull request #262 from Rafostar/reloaded
plugin: Make modules management separate per instance
2022-05-20 11:28:27 +02:00
Rafał Dzięgiel
8301cded2f plugin: Make modules management separate per instance
There were various problems with importer loader code. One defect was that
it kept managing a single global list of available importers and marking
which one is currently used on it. This made it not work correctly for
multiple sink instances in single process and was not thread safe.

This commit changes importer loader code into a GstObject subclass, which
keeps its own list of importers per instance and unlike before makes it
possible to free this data from memory when destroyed.

Now only open modules are kept always in memory until process finishes
since we cannot unload them once loaded anyway.
2022-05-20 10:13:14 +02:00
Rafał Dzięgiel
34386bc96c plugin: Use different lock for importer within paintable
This way we can avoid an additional importer ref + unref for every frame draw
2022-05-18 19:25:00 +02:00
Rafał Dzięgiel
2b85afc03e plugin: Do not use weak ref on importer
There is no good reason to keep using weak ref on importer within paintable object. Change that to a gst_object_ref which is faster.
2022-05-18 18:28:20 +02:00
Rafał Dzięgiel
bb56efa705 Merge pull request #261 from Rafostar/adw-fixes
libadwaita CSS fixes
2022-05-18 12:26:52 +02:00
Rafał Dzięgiel
82922e51f9 flatpak: Update GTK4 to 4.6.4
With latest GTK 4.6.4 the issues with opening popovers are finally fixed. Stop patching older version and just build the latest one.
2022-05-18 11:39:07 +02:00
Rafał Dzięgiel
ca64d9d2ee flatpak: Build recent libadwaita version
With updated CSS we use some variables intoduced in stable versions of libadwaita. To make it work properly, stop using alpha.2 and build recent stable version.
2022-05-18 11:39:04 +02:00
Rafostar
2a18c6a374 css: Misc fixes for recent Adwaita theme
Fixes for recent libadwaita provided theme, mainly needed to workaround:
https://gitlab.gnome.org/GNOME/libadwaita/-/issues/454

Devs rejected my idea of fixing it upstream. They said to override it
in my own app. So here it is.
2022-05-18 11:38:56 +02:00
Rafał Dzięgiel
af6cf01c98 player: Remove hardcoded ring buffer value
We should aim to have this as a configurable option.
Until then lets use the default value.
2022-05-17 22:07:21 +02:00
Rafał Dzięgiel
85bdbb1132 plugin: Prefer GL over GLES on macOS
Apple decoder uses rectangle texture-target, which GLES does not support
2022-05-16 19:16:36 +02:00
Rafał Dzięgiel
8e89b0d8ca gschema: Make resume video option disabled by default
A resume video question dialog that keeps poping confuses new Clapper users.
Looks like some spam. Change default option value to be disabled, so people
that are interested in this feature can enable it in preferences.
2022-05-16 09:45:36 +02:00
Rafostar
4e3cc3e23f plugin: Set initial display resolution to 1x1
We do not support zero width/height (described in our caps). Set initial video
dimensions to 1x1. They are going to be updated on first buffer after video info is set.

This avoids running into https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1139
and makes sure we do not do any divisions by zero here either.
2022-05-15 20:02:01 +02:00
Rafostar
c6c43346fa lib: Replace usage of "g_str_equal" with "g_strcmp0"
The first one is meant for hash tables comparisons and does not guard against NULL values (#259).
2022-05-15 14:45:49 +02:00
Rafał Dzięgiel
be58af2256 Merge pull request #256 from Rafostar/gl-win
plugin: Add GL support for Windows OS
2022-05-13 16:34:26 +02:00
Rafał Dzięgiel
343eef5894 plugin: Add GL support for Windows OS
Add support for both WGL and EGL on Win32
2022-05-13 15:17:53 +02:00
Rafał Dzięgiel
04657017f9 Merge pull request #257 from Rafostar/gl-macos
plugin: Add GL support for macOS
2022-05-13 14:12:09 +02:00
Rafał Dzięgiel
1cdaa36559 plugin: Add GL support for macOS 2022-05-13 13:53:35 +02:00
Rafał Dzięgiel
f351982067 plugin: Handle premultiplied alpha in RAW frames
Add support for premultiplied alpha flag detection when creating GdkMemoryTextures.
Also check if overlays have premultiplied alpha and if they do set this flag for
their video info, so it will be detected when creating a GdkMemoryTexture out of them.

Fixes performance issues with karaoke subtitles, as now GTK does not have to perform
unnecessary multiplication.
2022-05-12 18:08:53 +02:00
Rafał Dzięgiel
ae531db2b7 plugin: Have a separate mutex lock in GL base class
Make GL base importer class and all its subclasses that access parent props,
use a different mutex lock then the main importer class.

This way main importer class can continue processing buffers without waiting for
GL-based subclasses, as most GL operations (e.g. upload) are time consuming.
2022-05-11 22:00:49 +02:00
Rafał Dzięgiel
66fb8d4a1f Merge pull request #255 from Rafostar/fixes
Misc fixes
2022-05-11 21:21:33 +02:00
Rafał Dzięgiel
8f0ad12795 meson: Make sink compile on Windows OS
We cannot compile app as a whole on MS Windows yet, but with those changes it is now possible to compile and run our new video sink alone on Windows OS
2022-05-11 18:55:06 +02:00
Rafał Dzięgiel
908a388f68 meson: Give up on building GL base without GL windowing
We do not want to build GL-based importers when GTK GL windowing support is missing,
which might happen because of missing deps or on unsupported platform
2022-05-11 18:55:03 +02:00
Rafał Dzięgiel
7f33db4159 plugin: Fix possible buffer and v_info mismatch 2022-05-11 18:54:48 +02:00
Rafał Dzięgiel
288b829139 Further alter default plugin feature ranks on startup
Too many problems with VAAPI decodebin, meanwhile VA works fine and there is already
a pending MR on GStreamer to enable it by default, so we do that a little early.

We also do promise working HW accel out of box, so enable all common NVDEC elements too.
They can always be disabled back in player preferences window if any problems do happen.

We can now remove the alternations of v4l2codecs as those are PRIMARY+1 by default and we
now require GStreamer 1.20+ so no need for version checking there too.

Fixes #236
2022-05-11 11:50:15 +02:00
Rafał Dzięgiel
aa6d21973c gschema: Disable download buffering by default
We had this option enabled to workaround problems with old YT code.
Adaptive streaming now seems to work correctly, so restoring the
default play flags value.
2022-05-10 13:57:11 +02:00
Rafał Dzięgiel
e506063409 gschema: Remove leftover web app settings 2022-05-10 12:09:30 +02:00
Rafał Dzięgiel
e679430d3e meson: Set plugin option to be auto by default
This should allow to still compile and use the player with the legacy sink, without changing meson default options
2022-05-09 12:39:41 +02:00
Rafał Dzięgiel
4b93d4d132 meson: Cleanup plugin build script 2022-05-08 18:47:13 +02:00
Rafał Dzięgiel
b7b99c20cf meson: Do not go down in lib versioning
Install plugin lib stuff into a dir named "clapper-1.0" instead of "clapper-0.0". Even through our API is still very unstable, we cannot go down with versioning. The sink importers being installed there are not part of public API anyway.
2022-05-08 13:54:55 +02:00
Rafał Dzięgiel
5775738f67 plugin: Fix possible dir enumerator NULL unref
On an unlikely chance that sink was compiled without any importers, iterated dir does not exists thus we try to unref a NULL. Avoid doing that.
2022-05-07 13:43:51 +02:00
Rafał Dzięgiel
7159459160 meson: Cleanup of plugin build script 2022-05-06 21:08:03 +02:00
Rafał Dzięgiel
00650a596f obs: Use "trigger_services" step
Instead "rebuild_package" use "trigger_services" for OBS integration, otherwise the same old package is rebuild again and again.
2022-05-06 18:57:12 +02:00
Rafał Dzięgiel
6a995e2143 Merge pull request #253 from Rafostar/clappersink2
Move away from GtkGLArea
2022-05-06 17:52:56 +02:00
Rafał Dzięgiel
01b3feb213 New Crowdin updates (#247)
* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Portuguese)
2022-05-06 17:36:53 +02:00
Rafał Dzięgiel
5b9e7eacba meson: Do not auto build rawimporter when building gluploader
No need to auto build rawimporter if we are building gluploader as it
will be always loaded on startup, but never used.

Skip the build of it when its meson option is set to "auto".
2022-05-06 11:42:47 +02:00
Rafostar
b37ab432d7 player: Use new "clappersink" element
Use brand new clapper video sink for video output. Also add "CLAPPER_USE_LEGACY_SINK" env
to still allow the usage of old video sink if any problems arise.
2022-05-05 11:17:28 +02:00
Rafostar
0410c6e9b5 plugin: Add GL uploader
Add "clappergluploader" module which uses "glupload" and "glcolorconvert" internally,
allowing either uploading RAW system memory into GPU with GL colorspace conversion or
importing DMABufs into GL memory and making a GdkTexture out of them at one go.
2022-05-05 11:17:17 +02:00
Rafostar
3e0a0e0555 plugin: Add GL memory importer
Add "clapperglimporter" and a base class for creating GL importers. This module allows importing GL memory into GdkTexture.
2022-05-05 11:17:04 +02:00
Rafostar
5b7b7085e4 plugin: Add RAW system memory importer
Add "clapperrawimporter" module which allows importing RAW system memory mapped frames
2022-05-05 11:16:44 +02:00
Rafostar
044710f97e plugin: Add clapper GStreamer plugin
Add new GStreamer plugin with custom video sink for Clapper video player.

The main difference is that unlike the old one, this does not operate using `GtkGLArea`
anymore, but processes and displays `GdkTextures` directly through `GtkPicture` widget.
Also this one is installed like any other GStreamer plugin, thus can be used via
`gst-launch-1.0` binary or even by other GTK4 apps if they wish to integrate it.

In order to not depend on GL stuff at build time, this plugin uses seperate GModules
called "importers" in order to import different kind of memories into GdkTexture. This
allows expanding its capabilities further then we were able to do before.
2022-05-05 11:16:34 +02:00
Rafał Dzięgiel
b83d500352 Merge pull request #245 from Rafostar/crowdin_sync
New Crowdin updates
2022-04-11 21:02:50 +02:00
Rafał Dzięgiel
3fadf13125 api: Also check "USE_PLAYBIN3" env
Some mobile distros seem to be under assumption that playbin3 is required to
get HW accel and setting this env by default is good idea. Both are wrong.

Check this env presence to avoid problems as factory will always return
playbin3 if set (even if playbin2 was requested).
2022-04-11 19:44:05 +02:00
Rafał Dzięgiel
f8fe49a809 obs: Add "workflows.yml" file 2022-04-11 18:08:52 +02:00
Rafał Dzięgiel
264f0abb64 New translations com.github.rafostar.Clapper.pot (Dutch) 2022-04-08 18:14:27 +02:00
Rafał Dzięgiel
b330aa1ccd workflow: Increase default timeout time
AArch64 build is taking a lot of time...
2022-04-08 17:27:38 +02:00
Rafał Dzięgiel
de8ecb8f82 flatpak: Do not build pango anymore
GNOME 42 runtime includes version that is new enough
2022-04-08 17:08:32 +02:00
Rafał Dzięgiel
a2bb927502 Update LINGUAS file 2022-04-08 10:08:05 +02:00
Rafał Dzięgiel
df728f383b Merge pull request #237 from Rafostar/crowdin_sync
New Crowdin updates
2022-04-08 10:01:39 +02:00
Rafał Dzięgiel
c80d2e9fd6 New translations com.github.rafostar.Clapper.pot (Turkish) 2022-04-02 03:43:30 +02:00
Rafał Dzięgiel
5a00301935 New translations com.github.rafostar.Clapper.pot (Turkish) 2022-04-02 02:44:03 +02:00
Rafał Dzięgiel
46b5a6df96 New translations com.github.rafostar.Clapper.pot (Japanese) 2022-04-01 11:06:26 +02:00
Rafał Dzięgiel
f771e0320c Merge pull request #240 from Rafostar/pkgs
Update Flatpak, remove RPM specfiles
2022-04-01 11:05:22 +02:00
Rafał Dzięgiel
72a64a41d9 Update README.md 2022-04-01 09:42:06 +02:00
Rafał Dzięgiel
2818d3c91b flatpak: Enable network access for CI GTK4 builds
Make sure CI can satisfy latest GTK4 dependency requirements by allowing it to download libs it needs as fallback projects
2022-04-01 09:27:13 +02:00
Rafał Dzięgiel
ffb481b52b pkgs: Remove RPM build files from git
Clapper is now available in official repos on both Fedora and openSUSE. Considering that, I will not have time to properly maintain them here, so they go away.
2022-04-01 09:27:10 +02:00
Rafał Dzięgiel
c5c289d466 flatpak: Do not build libsoup3 anymore
It is now included in GNOME 42 runtime
2022-04-01 09:27:07 +02:00
Rafał Dzięgiel
3074051b3d flatpak: Build recent GTK 4.6.2 version
We are gonna move into depending on at least 4.6.0, build it for CI to pass
2022-04-01 09:26:58 +02:00
Rafał Dzięgiel
980e1d9e1a flatpak: Update git actions runtime to 42 2022-03-31 16:28:30 +02:00
Rafał Dzięgiel
045e4fc2c4 flatpak: Sync with Flathub 2022-03-31 16:20:47 +02:00
Rafał Dzięgiel
4f27739287 New translations com.github.rafostar.Clapper.pot (Japanese) 2022-03-31 10:08:37 +02:00
Rafał Dzięgiel
52aa7710dc Update README.md 2022-03-30 11:21:01 +02:00
Rafał Dzięgiel
0e49eaec7e New translations com.github.rafostar.Clapper.pot (Arabic) 2022-03-26 14:37:46 +01:00
Rafał Dzięgiel
62a923a3c1 New translations com.github.rafostar.Clapper.pot (Arabic) 2022-03-26 13:39:14 +01:00
Rafał Dzięgiel
f59b937316 New translations com.github.rafostar.Clapper.pot (Arabic) 2022-03-26 12:42:32 +01:00
Rafał Dzięgiel
8c914d0555 New translations com.github.rafostar.Clapper.pot (Arabic) 2022-03-25 22:09:19 +01:00
Rafał Dzięgiel
d2fab16093 New translations com.github.rafostar.Clapper.pot (Arabic) 2022-03-25 20:58:27 +01:00
Rafał Dzięgiel
67e877af0f New translations com.github.rafostar.Clapper.pot (Basque) 2022-03-25 17:45:32 +01:00
Rafał Dzięgiel
c825649a71 New translations com.github.rafostar.Clapper.pot (Basque) 2022-03-25 16:34:21 +01:00
Rafał Dzięgiel
5101fce5a7 Merge pull request #228 from Rafostar/nightly-fix
Flatpak nightly fixes
2022-03-11 00:30:05 +01:00
Rafał Dzięgiel
e0daf8435a flatpak-nightly: Use "--wrap-mode=nodownload" for GStreamer build
We do not have net access during build of GStreamer, nor we want to pull anything, so disable downloads so it will not try
2022-03-10 22:55:31 +01:00
Rafał Dzięgiel
9f18295728 flatpak-nightly: Do not disable GStreamer asserts and checks
We may disable them for stable releases, but should be left to default on nightly
2022-03-10 22:55:27 +01:00
Rafał Dzięgiel
8ce977505e actions: nightly: Manually install SDK extensions via workflow
The github actions Flatpak action only allows to specify single source
for installing missing dependencies. This makes impossible to build
some things from "gnome-nightly" while others from "flathub" repo.

Work around this limitation by manually installing missing SDK
extensions from Flathub prior to using this git action.
2022-03-10 22:55:24 +01:00
Rafał Dzięgiel
8ac839c9aa flatpak-nightly: Disable cloning GStreamer submodules
It seems that now GStreamer ships its testsuite (which we do not need) as a submodule. Do not try to clone it.
2022-03-10 22:55:09 +01:00
Rafał Dzięgiel
8fa2036265 actions: Allow runs on workflow_dispatch 2022-03-10 09:32:11 +01:00
Rafał Dzięgiel
1d5bb1e6aa Merge pull request #227 from Rafostar/nightly-rust
flatpak-nightly: Build dav1d decoder from gst-plugins-rs
2022-03-09 22:09:22 +01:00
Rafał Dzięgiel
9ec87c1b58 flatpak-nightly: Build dav1d decoder from gst-plugins-rs 2022-03-09 20:53:18 +01:00
Rafał Dzięgiel
16c0f8baae Merge pull request #226 from Rafostar/speed-fix
Fix end time calculation with with non-1x speed
2022-03-06 16:52:40 +01:00
Rafał Dzięgiel
c94d21fc53 Fix end time calculation with with non-1x speed 2022-03-06 15:51:06 +01:00
Rafał Dzięgiel
159f96c984 Merge pull request #214 from Rafostar/libsoup3
libsoup3
2022-02-28 16:58:29 +01:00
Rafał Dzięgiel
96ad4fa3db RPM: Require libsoup3 2022-02-17 15:44:45 +01:00
Rafał Dzięgiel
b2e7bef8d4 flatpak: Update git actions runtime to 41
We need to update, so we can build libsoup3. Flathub ver will likely remain as 40 ver to avoid some problems and will be updated directly to 42 later.
2022-02-14 17:37:15 +01:00
Rafał Dzięgiel
40a1dc6960 flatpak: Build libsoup3
Now both Clapper and Gtuber lib require libsoup3, so build it until it will be available in runtime
2022-02-14 17:37:15 +01:00
Rafał Dzięgiel
c4bd604e17 Port to libsoup3
With all apps and modules/plugins porting itself to libsoup3 we also need to do so.

It would appear as a good idea to conditionally import "3.0" and fallback to "2.4"
bindings here, but its not as loaded GStreamer plugins might use libsoup3 already
and we cannot have both libsoup2 and libsoup3 in a single process.
2022-02-14 17:37:15 +01:00
Rafał Dzięgiel
83c0e3b598 Remove unfinished web application
It used Broadway as an easy "reuse the same code into web application" way for me, but Broadway
is not very good for this. This feature should be made using some better dedicated framework for
building websites (so it can work better and support different screen sizes).

All the WebSocket functionality needed for this will remain (and be documented at a later point
when expanded and stable), so if anyone would like to make such remote controlling app, will be
free to do so (outside of Clapper code).
2022-02-14 17:37:15 +01:00
Rafał Dzięgiel
54715023c0 flatpak: Update git actions manifest 2022-02-14 16:36:29 +01:00
Rafał Dzięgiel
95046ceba8 flatpak: Sync with Flathub 2022-02-14 16:06:36 +01:00
Rafał Dzięgiel
b189e24b5e Merge pull request #209 from simonsextras/swdeish-tranlation-nbfreygff
Full Swedish Translation
2022-01-21 12:14:22 +01:00
sastofficial
cb9e2ac979 Update sv.po 2022-01-21 09:35:17 +01:00
sastofficial
545d8826e0 Update sv.po 2022-01-19 13:46:08 +01:00
Rafał Dzięgiel
c2160198b9 Update LINGUAS file 2022-01-19 10:07:09 +01:00
Rafał Dzięgiel
aa7eae2417 New translations com.github.rafostar.Clapper.pot (French) (#208) 2022-01-19 10:00:56 +01:00
Rafał Dzięgiel
3192a32845 Merge pull request #206 from Rafostar/unicode
Use more unicode characters
2022-01-18 18:46:06 +01:00
Rafał Dzięgiel
706c783498 Use unicode U+2215 for division 2022-01-17 22:28:17 +01:00
Rafał Dzięgiel
8ba3ca4af6 Use unicode U+00D7 for multiplication 2022-01-17 21:01:23 +01:00
Rafał Dzięgiel
38efa7ab9f Use unicode U+2236 for time 2022-01-17 20:27:13 +01:00
Rafał Dzięgiel
d19ddbcaca Merge pull request #204 from Rafostar/devel
Misc gstclapper fixes
2022-01-17 11:00:28 +01:00
Rafał Dzięgiel
615f1553fb flatpak: Sync with Flathub 2022-01-17 10:19:29 +01:00
Rafał Dzięgiel
09c9e7560b New Crowdin updates (#201)
* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Basque)
2022-01-17 08:56:59 +01:00
Rafał Dzięgiel
f40ce756ad Merge pull request #199 from majjejjam/master
change three dots to ellipsis
2022-01-16 14:10:49 +01:00
majjejjam
23d51be185 changed to ellipses in ui/clapper.ui 2022-01-15 18:20:13 +01:00
Rafał Dzięgiel
0db2a4a045 gstclapper: Fix plugin feature leak 2022-01-14 09:28:26 +01:00
Rafostar
469c06d22b gstclapper: Go into NULL state directly when stopped
Instead of waiting another 60 seconds for user, go into NULL state ASAP to free all resources and open devices.
2022-01-09 13:31:37 +01:00
Rafostar
3feaf225b5 gstclapper: Make tags writable before insert
Someone might be holding a copied media info in which case tag
list ref count is not 1. Use gst_tag_list_make_writable to
assure that ref count is 1, so we can insert more tags into the list.
2022-01-09 13:31:29 +01:00
majjejjam
fc8d881efd change three dots to ellipsis 2022-01-08 16:28:07 +01:00
Rafał Dzięgiel
ac76836fd7 Merge pull request #192 from Rafostar/yt-removal
YouTube code removal
2022-01-05 14:27:59 +01:00
Rafał Dzięgiel
f6a1aaf1dc Remove all YouTube code
It has been broken for quite some time. From now on this is gonna be left to handle for GStreamer plugins.
2021-12-22 08:12:55 +01:00
Rafał Dzięgiel
000dca82d9 flatpak: Sync with Flathub 2021-12-20 21:23:31 +01:00
Rafał Dzięgiel
7a508fef39 0.4.1 2021-12-20 11:33:19 +01:00
Rafał Dzięgiel
d465d9f150 Make floating window update its title earlier
Instead of waiting till animation finishes, update the window title right away when changing modes
2021-12-15 16:58:54 +01:00
Rafał Dzięgiel
5e4dfb322c Append "PiP" suffix to window title when in floating mode
We are gonna take advantage of this simple change elsewhere
2021-12-15 12:44:23 +01:00
Rafał Dzięgiel
0c561ab4b3 Also allow enabling gtuber code path via env
Having to use "gtuber" URI scheme might be inconvenient, so also allow to
whitelist it with "GST_PLUGIN_FEATURE_RANK=gtubersrc:300" env
2021-12-10 11:05:00 +01:00
Rafał Dzięgiel
46ce261524 widget: Make sure we have caps before logging them 2021-12-10 11:03:06 +01:00
Rafał Dzięgiel
50aac8cdd8 gstclapper: Merge global tags instead replacing them
There is no guarantee that received later tags also contain values from
earlier ones, as they might come from different element.
Combine them instead while replacing old values with newer ones.
2021-12-02 08:52:35 +01:00
Rafał Dzięgiel
810aea476f Use gtuber lib for URIs with "gtuber" scheme
Take a different code path when URI uses "gtuber" scheme.
This allows testing new WIP lib as an opt-in.
2021-11-29 22:33:53 +01:00
Rafał Dzięgiel
24905f1d60 flatpak: Build gtuber 2021-11-29 22:30:21 +01:00
Rafał Dzięgiel
82e3c9a52f prefs: Add can-swipe-back compat with latest libadwaita
Recent libadwaita has renamed "can-swipe-back" into "can-navigate-back".
Set both in JS code instead of UI file in order to support all libadwaita versions.

Fixes #185
2021-11-29 10:13:06 +01:00
Rafał Dzięgiel
654b8aaf60 prefs: Fix expander rows compat with latest libadwaita 2021-11-19 18:43:01 +01:00
Rafał Dzięgiel
3c0e33e4a4 css: Few override fixes for latest libadwaita 2021-11-19 18:40:34 +01:00
Rafał Dzięgiel
d2df1c3bd8 app: Use Adw.StyleManager to enable dark-theme
Latest libadwaita (for reasons unknown to me) totally ignores/breaks dark theme usage with gtk_application_prefer_dark_theme property. Lets just try using the new Adw.StyleManager without asking questions why.
2021-11-18 22:42:05 +01:00
Rafał Dzięgiel
af24073590 Update LINGUAS file 2021-11-18 15:37:48 +01:00
Rafał Dzięgiel
44cee14eb2 New translations com.github.rafostar.Clapper.pot (Portuguese) (#175) 2021-11-18 15:34:16 +01:00
Rafał Dzięgiel
b853685dd4 gstclapper: Fix decoder stream ID string leak 2021-10-22 13:11:42 +02:00
Rafał Dzięgiel
15461dd38a gstclapper: Fix video/audio decoder change detection
The video/audio decoder changed signal was not working correctly in case of
multiple streams with multiple decoders in single file.

We need to listen to the current-(video/audio) signal, when it changes find
corresponding "input-selector", get stream ID from its active pad and then
find the decoder in the pipeline that handles this stream ID. Similarly for
playbin3, but use stream ID from the "streams-selected" signal.
2021-10-22 11:05:08 +02:00
Rafał Dzięgiel
1c1989bc32 gstclapper: Fix GST_PLUGIN_FEATURE_RANK env usage
We change few default plugin ranks during init to whitelist them, but we do not update
their values from GST_PLUGIN_FEATURE_RANK env afterwards, so do that.
The ENV should be preferred over default config.
2021-10-21 11:21:07 +02:00
Rafał Dzięgiel
e9c9ae073f flatpak-nightly: Enable GPL gstreamer plugins 2021-10-19 10:23:41 +02:00
Rafał Dzięgiel
22d2c40b0f flatpak-nightly: Build from gstreamer mono repo 2021-10-18 11:13:44 +02:00
Rafał Dzięgiel
5301c8b368 flatpak: Sync with Flathub 2021-10-14 20:35:53 +02:00
Rafał Dzięgiel
e910978590 Update LINGUAS file
Install Portuguese-Brazilian translation
2021-10-14 20:30:18 +02:00
Rafał Dzięgiel
3b99f0ee0c New Crowdin updates (#172)
* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)
2021-10-12 08:44:14 +02:00
Rafał Dzięgiel
f93a0fed98 Update LINGUAS file 2021-10-04 16:06:45 +02:00
Rafał Dzięgiel
6b8c35b16e Merge pull request #166 from GNUuser/patch-1
Update es.po
2021-10-04 15:59:21 +02:00
Rafał Dzięgiel
5fdb6e64be New Crowdin updates (#164)
* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Italian)
2021-10-04 15:14:51 +02:00
Rafał Dzięgiel
60d4b5aec1 widget: Do gestures in capture phase
Capture phase runs from the toplevel down to the event widget and is meant to be used
in containers that might possibly handle events before their children, like our OSD layer.

This avoids an issue where pressing an OSD button does not emit cancelled signal,
accidentally triggering long press gesture signal handler.

Fixes #170
2021-10-04 10:11:53 +02:00
carlosgonz
f5258889cf Update es.po 2021-10-02 10:08:14 -04:00
carlosgonz
31eddf5dd2 Update es.po 2021-10-02 10:07:15 -04:00
carlosgonz
89f7304e0e Update es.po
initial Spanish file
2021-10-01 18:59:03 -04:00
Rafał Dzięgiel
3c918bda73 New Crowdin updates (#163)
* New translations com.github.rafostar.Clapper.pot (Hungarian)
2021-09-22 10:15:35 +02:00
Rafał Dzięgiel
2a8ef2559f New Crowdin updates (#162)
* New translations com.github.rafostar.Clapper.pot (Czech)
2021-09-20 08:34:28 +02:00
Rafał Dzięgiel
7676e18eee New translations com.github.rafostar.Clapper.pot (Russian) (#161) 2021-09-17 11:03:54 +02:00
Rafał Dzięgiel
00b05b460d Merge pull request #158 from igor-dyatlov/master
Added Russian translate
2021-09-17 10:58:05 +02:00
Igor Dyatlov
62f02cf2a3 Added Russian translate 2021-09-16 12:31:19 +03:00
Rafał Dzięgiel
9fc1d9b8c4 sink: Do not leak pool when set config fails 2021-09-15 16:28:23 +02:00
Rafał Dzięgiel
45a5ebb4b6 New Crowdin updates (#157)
* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Polish)
2021-09-15 10:54:52 +02:00
Rafał Dzięgiel
2500a42286 Fix missing gio-unix-2.0 dep
Our autogenerated MPRIS code needs it. On some packaging systems this might be included outside of glib, so depend on it explicitly.
2021-09-14 17:54:03 +02:00
Rafał Dzięgiel
bafffa59b9 Fix missing translator-credits 2021-09-14 16:40:09 +02:00
Rafał Dzięgiel
201cb6f64c actions: Also allow mute with "M" key alone
For faster access
2021-09-14 13:09:23 +02:00
Rafał Dzięgiel
636098182b actions: Keep consistent letters case 2021-09-14 13:06:44 +02:00
Rafał Dzięgiel
5442b0b70a uri-dialog: Catch errors when reading from clipboard
The clipboard.read_text_finish method might throw an error when something goes wrong. Catch it and print in debug message. There is no alternative clipboard reading, so simply ignore.
2021-09-14 13:00:14 +02:00
Rafał Dzięgiel
67d1b9f5bc flatpak: Sync with Flathub 2021-09-13 14:06:48 +02:00
Rafostar
a62483fda9 0.4.0 2021-09-12 12:14:05 +02:00
Rafał Dzięgiel
c825385a8f New Crowdin updates (#154)
* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Italian)
2021-09-11 12:19:01 +02:00
Rafał Dzięgiel
02a7419d66 Merge pull request #155 from Rafostar/scaling
Scale fullscreen differently depending on monitor res
2021-09-11 12:18:13 +02:00
Rafał Dzięgiel
e727b8fb50 Scale fullscreen differently depending on monitor res 2021-09-11 11:22:15 +02:00
Rafostar
3cbfd1a57c Fix chapter popover parenting 2021-09-10 19:28:27 +02:00
Rafał Dzięgiel
75b728457c New Crowdin updates (#150)
* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Polish)
2021-09-10 15:46:56 +02:00
Rafał Dzięgiel
b293a84df6 Skip hiding already hidden tracks radio buttons
Does not change much, but removes some useless logging
2021-09-09 22:08:20 +02:00
Rafał Dzięgiel
928244dc32 prefs: Show icon in plugins with modified feature ranks 2021-09-09 12:10:54 +02:00
Rafał Dzięgiel
11caafe847 css: Remove higher l/r negative margins
This ensures that scale does not overlap with corresponding buttons
2021-09-09 09:13:18 +02:00
Rafał Dzięgiel
dbeb4cb0b7 misc: Cleanup imports resolve code
It does not look like we will be able to provide gresources in near future (ever?). Remove those checks for less logic at startup.
2021-09-08 21:32:42 +02:00
Rafał Dzięgiel
3e04139288 meson: Fix variable name 2021-09-08 21:09:48 +02:00
Rafał Dzięgiel
c41b77a14b meson: Do not set datadir in bin template
GJS does this automatically for us using prefix and even if set it will be overwritten
2021-09-08 20:50:23 +02:00
Rafał Dzięgiel
3c500e0be9 meson: Rename some options 2021-09-08 20:46:43 +02:00
Rafał Dzięgiel
6cddb1a16d meson: Cleanup build files
Remove some twice declared variables and keep code style
2021-09-08 20:44:12 +02:00
Rafał Dzięgiel
b5007d12a1 remote: Use system play/pause icons
Those were taken from gresource, but since Remote is a different app, it does not use original clapper gresource. Use system icons for now.
2021-09-08 20:22:32 +02:00
Rafał Dzięgiel
0d7274fb03 Optimize TV mode controls size 2021-09-08 11:31:13 +02:00
Rafał Dzięgiel
94be4c08c5 Optimize pause icon height 2021-09-08 11:30:35 +02:00
Rafał Dzięgiel
bfcc468528 meson: Add optional validate appstream file test 2021-09-07 20:54:48 +02:00
Rafał Dzięgiel
98d2b80103 Add PiP and play icons as gresource
Add missing PiP icons from web devel kit. Also add play/pause
icons at the right size and remove all workarounds/scaling
implemented or these two.

Playback icons are always two bars for pause and triangle for play,
so hopefully this will not be problematic, as this guaranties the
right size for them that Adwaita unfortunately cannot provide.
2021-09-07 19:34:59 +02:00
Rafał Dzięgiel
fa39c45773 Remove useless signal connection in about dialog 2021-09-06 20:33:11 +02:00
Rafał Dzięgiel
b2a6e19fe1 Update POT file 2021-09-06 20:22:55 +02:00
Rafał Dzięgiel
e8c44dc400 Make end time label translatable 2021-09-06 20:21:18 +02:00
Rafał Dzięgiel
5cc9c17632 Update POT file 2021-09-06 19:47:29 +02:00
Rafał Dzięgiel
35d359daf9 Mark popovers text as translatable 2021-09-06 19:45:04 +02:00
Rafał Dzięgiel
637fa75484 Merge pull request #151 from Rafostar/comply-gjs
Comply with GJS packaging
2021-09-06 17:56:53 +02:00
Rafał Dzięgiel
8733610a9b Move revealers access away from base classes
Those should not appear in base classes, as they are available in main app only
2021-09-06 17:23:36 +02:00
Rafał Dzięgiel
873e724bf2 Comply with GJS packaging spec
According to spec, package name should always be set to main package name in DBus name format
2021-09-06 17:22:34 +02:00
Rafał Dzięgiel
7aa03f3e72 prefs: PipeWire is only used for audio output here
We only use PipeWire for audio output. Make that more obvious in prefs setting description.
2021-09-06 13:42:09 +02:00
Rafał Dzięgiel
99acd36cc0 api: Always start unmuted 2021-09-06 13:18:57 +02:00
Rafał Dzięgiel
cd7d99606d Improve mute shortcut description
This does both mute and unmute, describe it as a toggle
2021-09-06 13:07:07 +02:00
Rafał Dzięgiel
574e084383 Toggle mute with Ctrl+M
Closes #117
2021-09-06 12:34:11 +02:00
Rafał Dzięgiel
d49df86397 api: Replace mute-changed signal with mute notify
Notify is enough, we do not need a separate signal for mute property. This also allows binding this property to some other GObject props.
2021-09-06 12:18:32 +02:00
Rafał Dzięgiel
3483c94913 Completely disable audio track when set to disabled
Instead of just muting audio when disabled, tell GStreamer to diable it completely. This is slower, but makes this option do what it was supposed to.
2021-09-06 10:29:44 +02:00
Rafał Dzięgiel
a99abc652a Do not store subtitle-offset as gsetting
This is not something we should remember
2021-09-06 10:12:33 +02:00
Rafał Dzięgiel
a9173bb481 css: Put small L/R margins on speed scale
GTK does weird glitches when scale slider inside popover is dragged to the very end. Avoid that by putting small margins on both sides. It also looks better when its shorter a little bit.
2021-09-06 09:09:05 +02:00
Rafostar
a16444cefb Do not set subtitle-offset at startup
We should always start without any offset for subtitles
2021-09-05 20:44:12 +02:00
Rafostar
65673dbf4f Add window mapped debug message 2021-09-05 17:55:16 +02:00
Rafostar
dea67e4712 Prepare for resource loading
Cleanup the Clapper install path detection code in a way to make gresources loading eventually possible for compiled builds
2021-09-05 17:55:11 +02:00
Rafostar
3c765e9f17 Add some init debug messages
To get an overall idea how long initialization takes
2021-09-05 17:54:55 +02:00
Rafostar
a77eb5352e cleanup: Remove unused clapperVersion variable 2021-09-05 11:47:24 +02:00
Rafostar
ca168f34ed controls: Use isFullscreen and isMobile from main widget
The "controls.isMobile" was used incorrectly here as it holds value if
controls are in mobile mode, not if running on mobile screen.
Use those values from clapper main widget instead. This fixes incorrect
chapter popover placement on mobile screens.

Also handle fine-tune in CSS as this code path is hit multiple times
when starting/stopping slider drag.
2021-09-05 11:30:46 +02:00
Rafostar
d0304d4ded mpris: Allow reading properties 2021-09-04 18:57:08 +02:00
Rafał Dzięgiel
cd479f3bb4 api: Set fakesink to be sync
Otherwise seeking will not be possible when this sink is used
2021-09-03 20:32:17 +02:00
Rafał Dzięgiel
70942ba419 prefs: Mark experimental options
Options not fully reliable with possibility to break playback. Better mark them as experimental then listen to users complaining on daily basis.
2021-09-03 20:08:07 +02:00
Rafał Dzięgiel
ad0c6151a9 Merge pull request #149 from Rafostar/experimental-options
Add playbin3 and PipeWire options to prefs
2021-09-03 12:24:00 +02:00
Rafał Dzięgiel
cccc584961 api: Use fakesink when PipeWire enabled but unavailable
Instead of misleading users that they are using PipeWire after enabling it, use fakesink in order to not output any sound at all
2021-09-03 11:50:40 +02:00
Rafał Dzięgiel
38e721be03 prefs: Add playbin3 and pipewire options 2021-09-03 11:35:23 +02:00
Rafał Dzięgiel
cf6d41b725 api: Add property to control PipeWire enablement 2021-09-03 11:12:48 +02:00
Rafał Dzięgiel
b68c1a62b2 api: Add property to control playbin3 enablement 2021-09-03 10:59:44 +02:00
Rafał Dzięgiel
dc25ec976a Name our classes
In order to not end up with random names prefixed with Gjs_, give each class a proper name, so its easier to inspect and allows usage with UI files
2021-09-02 20:12:39 +02:00
Rafał Dzięgiel
914292612b Show libadwaita version in about system 2021-09-02 19:27:00 +02:00
Rafał Dzięgiel
e34b164f5a Auto fill open URI entry with clipboard content
If clipboard contains a valid URI, prefill the entry with it. Also select all of it to make it easier to remove this text.
2021-09-02 18:58:51 +02:00
Rafał Dzięgiel
2e0a455f92 dialogs: Use response virtual function instead of signal 2021-09-02 17:29:56 +02:00
Rafał Dzięgiel
3aab01d35c Improved open URI dialog 2021-09-02 17:22:09 +02:00
Rafał Dzięgiel
e264304c9d Mark text in remaining dialogs as translatable 2021-09-02 13:26:06 +02:00
Rafał Dzięgiel
a145890f9d Fix disabling plugin feature with zero rank 2021-09-01 17:53:23 +02:00
Rafał Dzięgiel
0323c816ad api: Use GstElementFactoryListType to detect decoders
Using simply GST_IS_VIDEO_DECODER is not enough as some special cases like vaapidecodebin are not using decoder base class
2021-09-01 17:41:31 +02:00
Rafał Dzięgiel
4f1d9be423 Fix case with missing subtitle tracks
In case when first video has a lot of subtitles, second video has only a few and third one more then second one, we forgot to make the recycled toggle buttons visible again, causing some tracks to be missing
2021-09-01 17:26:10 +02:00
Rafał Dzięgiel
82557df7c4 Merge pull request #148 from Rafostar/popovers-rework
Popovers rework
2021-09-01 17:18:03 +02:00
Rafał Dzięgiel
c457158541 css: Remove elapsed popover bottom padding
Scale already does a bottom padding, we do not need this much of it
2021-09-01 15:44:45 +02:00
Rafał Dzięgiel
451711b9c6 Show current video/audio decoder in popover 2021-09-01 14:28:15 +02:00
Rafał Dzięgiel
bbada8fb4e Redo controls popovers into GtkMenuButtons 2021-09-01 14:25:42 +02:00
Rafał Dzięgiel
04122d46a7 Move popover separator into .ui
Allows reusing a custom separator in multiple popovers
2021-08-31 10:55:25 +02:00
Rafał Dzięgiel
347d90b1ad actions: Fetch gnome-nightly repo for build 2021-08-29 09:34:28 +02:00
Rafał Dzięgiel
27ffb65d8f api: Remove unused declaration 2021-08-28 10:29:12 +02:00
Rafał Dzięgiel
9328a7af75 meson: Warn about unused variables 2021-08-28 10:27:44 +02:00
Rafał Dzięgiel
1f6e439632 New Crowdin updates (#146)
* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Catalan)
2021-08-28 10:26:15 +02:00
Rafał Dzięgiel
97c1207b40 readme: Update flatpak-nightly badge 2021-08-28 08:43:06 +02:00
Rafał Dzięgiel
833559a208 flatpak: Rename from testing to nightly and use master runtime 2021-08-28 08:42:18 +02:00
Rafał Dzięgiel
9a8655b0a2 meson: Use correct SPDX identifier 2021-08-28 08:28:40 +02:00
Rafał Dzięgiel
d2a03d40a3 Merge pull request #145 from Rafostar/actions-aarch64
Add aarch64 builds to git actions
2021-08-27 21:42:31 +02:00
Rafał Dzięgiel
66998ff6c6 actions: Install docker with arm64 quemu
Flatpak builder needs this to compile aarch64 package
2021-08-27 17:02:40 +02:00
Rafał Dzięgiel
7cdd905d73 actions: Do not fail both runs when one fails 2021-08-27 16:25:02 +02:00
Rafał Dzięgiel
10eb5102c1 actions: Also build for aarch64 in nightly flatpak 2021-08-27 16:24:55 +02:00
Rafał Dzięgiel
9e8854c5e2 actions: Use GNOME nightly repo and rename to nightly
Rename flatpak-testing into flatpak-nightly so it reflects that it uses GNOME nightly sources now and builds itself every night (with nightly gstreamer too).
2021-08-27 16:21:57 +02:00
Rafał Dzięgiel
16a9546c97 actions: Build aarch64 flatpak 2021-08-27 15:51:21 +02:00
Rafał Dzięgiel
2686c2ca03 Quietly handle ranking gsetting change after app update
Do not print errors for everyone who updates Clapper from 0.3.0 version.
How plugin ranking is stored in gsettings changed. Instead reset it quietly
into new defaults to avoid problems.

Also since now GstClapper API sets some default ranks based on installed
GStreamer version, hopefully this ranking will be only an edge case for
people who want to experiment or need to test/debug some GStreamer plugin.
2021-08-27 13:30:14 +02:00
Rafał Dzięgiel
ad563d16d0 Move init functions into main where they should be
It seems that libadwaita does not like being initialized too early. Move the init function into the beggining of main() to make it happy.
2021-08-27 12:56:58 +02:00
Rafał Dzięgiel
12ce95b664 rpm: Install translations 2021-08-26 21:14:19 +02:00
Rafał Dzięgiel
2dbabe52bb Update LINGUAS file 2021-08-26 20:40:21 +02:00
Rafał Dzięgiel
2c35ceb35a New Crowdin updates (#141)
* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Dutch)
2021-08-26 20:20:59 +02:00
Rafał Dzięgiel
5eac1aa675 Merge pull request #140 from sp1ritCS/local_de
l10n: added german localization
2021-08-26 20:15:19 +02:00
Florian "sp1rit"​
0e6a68665d Merge remote-tracking branch 'origin/master' into local_de 2021-08-26 20:04:41 +02:00
Rafał Dzięgiel
86fe1628c3 Merge pull request #139 from juxuanu/master
Translate to Catalan
2021-08-26 19:36:48 +02:00
Rafał Dzięgiel
a427817e53 rpm: Install clapper symlink 2021-08-26 19:23:52 +02:00
Rafał Dzięgiel
7a767c34eb rpm: Fix bogus date 2021-08-26 19:20:19 +02:00
Rafał Dzięgiel
a7298e371e meson: Use DESTDIR env when creating symlink 2021-08-26 19:06:10 +02:00
Rafał Dzięgiel
f6393a177d Merge pull request #143 from Rafostar/symlink
meson: Create symlink to bin named simply "clapper"
2021-08-26 18:17:05 +02:00
Rafał Dzięgiel
45decb8563 meson: Create symlink to bin named simply "clapper" 2021-08-26 18:04:57 +02:00
Florian "sp1rit"​
2e12e52730 l10n: added german localization 2021-08-26 13:06:08 +02:00
Ícar
ffbd8c35e1 Update LINGUAS for Catalan 2021-08-26 10:54:59 +02:00
Ícar
01277f4a71 Add Catalan translation 2021-08-26 10:54:23 +02:00
Rafał Dzięgiel
a54c3e4bcc New Crowdin updates (#136)
* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)
2021-08-25 21:47:28 +02:00
Rafostar
17b2aec170 YouTube name should not be translated 2021-08-25 17:14:12 +02:00
Rafał Dzięgiel
75bc0d6b69 Update README.md 2021-08-25 15:28:03 +02:00
Rafał Dzięgiel
edef26fc0e New Crowdin updates (#135)
* New translations com.github.rafostar.Clapper.pot (Romanian)

* New translations com.github.rafostar.Clapper.pot (Korean)

* New translations com.github.rafostar.Clapper.pot (Vietnamese)

* New translations com.github.rafostar.Clapper.pot (Chinese Traditional)

* New translations com.github.rafostar.Clapper.pot (Chinese Simplified)

* New translations com.github.rafostar.Clapper.pot (Ukrainian)

* New translations com.github.rafostar.Clapper.pot (Turkish)

* New translations com.github.rafostar.Clapper.pot (Swedish)

* New translations com.github.rafostar.Clapper.pot (Serbian (Cyrillic))

* New translations com.github.rafostar.Clapper.pot (Russian)

* New translations com.github.rafostar.Clapper.pot (Portuguese)

* New translations com.github.rafostar.Clapper.pot (Polish)

* New translations com.github.rafostar.Clapper.pot (Norwegian)

* New translations com.github.rafostar.Clapper.pot (Dutch)

* New translations com.github.rafostar.Clapper.pot (Japanese)

* New translations com.github.rafostar.Clapper.pot (French)

* New translations com.github.rafostar.Clapper.pot (Italian)

* New translations com.github.rafostar.Clapper.pot (Hungarian)

* New translations com.github.rafostar.Clapper.pot (Hebrew)

* New translations com.github.rafostar.Clapper.pot (Finnish)

* New translations com.github.rafostar.Clapper.pot (Greek)

* New translations com.github.rafostar.Clapper.pot (German)

* New translations com.github.rafostar.Clapper.pot (Danish)

* New translations com.github.rafostar.Clapper.pot (Czech)

* New translations com.github.rafostar.Clapper.pot (Catalan)

* New translations com.github.rafostar.Clapper.pot (Arabic)

* New translations com.github.rafostar.Clapper.pot (Afrikaans)

* New translations com.github.rafostar.Clapper.pot (Spanish)

* New translations com.github.rafostar.Clapper.pot (Portuguese, Brazilian)
2021-08-25 15:02:02 +02:00
Rafał Dzięgiel
0edab83f86 Update POT file 2021-08-25 14:39:07 +02:00
Rafał Dzięgiel
9681d0eea1 ui: Change letter case
Should be lowercase as the rest
2021-08-25 14:38:25 +02:00
Rafał Dzięgiel
b6559ee50f Sync shortcuts names with menu items
This option was renamed recently
2021-08-25 14:29:05 +02:00
Rafał Dzięgiel
ce183595cd readme: Add crowdin "localized" badge 2021-08-25 13:51:14 +02:00
Rafał Dzięgiel
71f50ba414 Revert "crowdin: Add some languages mappings"
This reverts commit 0de8ee2d54.
2021-08-25 13:28:49 +02:00
Rafał Dzięgiel
0de8ee2d54 crowdin: Add some languages mappings 2021-08-25 12:58:25 +02:00
Rafał Dzięgiel
8be49f25b4 Update Crowdin configuration file 2021-08-25 12:36:58 +02:00
Rafał Dzięgiel
69bef3d174 Update Crowdin configuration file 2021-08-25 12:26:59 +02:00
Rafał Dzięgiel
d429e9105c Update Crowdin configuration file 2021-08-25 12:25:12 +02:00
Rafał Dzięgiel
a1ce04edfa Initial translations support
Most of the app is now translatable, so put a POT file in git and make app use translations if available
2021-08-25 11:23:43 +02:00
Rafał Dzięgiel
8ca4c30beb Rename "Open Local" into "Open Files"
This is easier to understand, besides file chooser might show online filesystem mounts which makes open "local" an inaccurate name
2021-08-24 22:05:20 +02:00
Rafał Dzięgiel
9b53a3e387 api: Fix plugin feature unref 2021-08-24 20:52:18 +02:00
Rafał Dzięgiel
f31682624f Do not try to translate "GStreamer" name 2021-08-24 15:49:45 +02:00
Rafał Dzięgiel
5874db45ea api: Introduce custom gstreamer init function
Initializes GStreamer library and tweaks some of its defaults to our liking.
This also allows usage of GstClapper API alone without importing GStreamer on the implementation side.

It changes preferred hardware acceleration order (depending on plugins versions) into:
v4l2sl -> nv -> va -> vaapi -> v4l2
2021-08-24 14:15:29 +02:00
Rafał Dzięgiel
87a0dd473e flatpak: Add missing deps to testing manifest
These are required to build libadwaita
2021-08-24 09:26:33 +02:00
Rafał Dzięgiel
c50df5f2a3 Merge pull request #129 from Rafostar/libadwaita
Initialize with libadwaita, port preferences window to be adaptive and do few CSS tweaks to improve overall app look.
2021-08-23 18:33:21 +02:00
Rafał Dzięgiel
a72a8057e5 rpm: Require libadwaita 2021-08-23 17:13:36 +02:00
Rafał Dzięgiel
f29ec78b92 Update readme 2021-08-23 16:55:56 +02:00
Rafał Dzięgiel
10f54c7c3d Remove .deb package
This was unresolvable (and reportedly broken) for quite some time, now even more so with libadwaita added into the mix. Having .deb packages would require a custom PPA with up-to-date dependencies. Anyone interested is free to set it up, but this git repo is not a good place to do so.
2021-08-23 16:18:13 +02:00
Rafał Dzięgiel
2b91056543 Remove Arch PKGBUILD files from git
Both stable and git versions of Clapper are available in AUR, no point maintaining them in two places
2021-08-23 16:11:09 +02:00
Rafał Dzięgiel
2656762cbc Fix chapter popover coordinates 2021-08-23 15:57:11 +02:00
Rafostar
f5ff59f786 css: Remove custom preferences CSS classes
Those are not used anymore
2021-08-22 16:09:45 +02:00
Rafał Dzięgiel
e4fe7844c4 metainfo: Mark as mobile friendly and fix few typos 2021-08-22 16:09:41 +02:00
Rafał Dzięgiel
b7d9a22d33 flatpak: Build libadwaita 2021-08-22 16:09:36 +02:00
Rafał Dzięgiel
c8a5277908 Port preferences window to libadwaita 2021-08-22 16:09:23 +02:00
Rafał Dzięgiel
62fab289b7 Few small CSS optimizations for new Adwaita theme 2021-08-06 09:11:39 +02:00
Rafał Dzięgiel
56ca13b370 Remove GTK 4.0.2+ theme workarounds 2021-08-06 09:11:34 +02:00
Rafał Dzięgiel
ce46905319 css: Remove slider outline in TV mode 2021-08-06 09:11:28 +02:00
Rafał Dzięgiel
5fe5f89e5d css: Reduce sliders size
They are way too big in new Adwaita theme for windowed mode, but leave them bigger when in TV mode
2021-08-06 09:11:20 +02:00
Rafał Dzięgiel
9ba6f5d09e Apply "osd" CSS class to each button in headerbar
Otherwise it does not work correctly with new Adwaita theme
2021-08-06 09:11:14 +02:00
Rafał Dzięgiel
4c0fc1dac2 Init libadwaita 2021-08-06 09:11:06 +02:00
Rafał Dzięgiel
13a792c0a9 Remove Adwaita scale brightness increase
This was fixed inside Adwaita theme
2021-08-06 09:10:58 +02:00
Rafał Dzięgiel
02b0d5f03f Remove theme selection workaround
Libadwaita does not support any other stylesheets then Adwaita. Not my fault.
2021-08-06 09:10:44 +02:00
Rafał Dzięgiel
b577dd762d Fix D&D on GTK 4.3.2+ 2021-08-05 22:29:23 +02:00
Rafał Dzięgiel
d798539dce Merge pull request #128 from Rafostar/gles
Cleanup GL init and use GLES if GTK is using it
2021-08-01 13:47:24 +02:00
Rafostar
19e159d1bd sink: Cleanup GL context init code 2021-08-01 12:44:35 +02:00
Rafał Dzięgiel
c3cdabb050 Merge pull request #127 from Rafostar/show-decoders
API: Add video/audio decoder changed signals
2021-08-01 11:02:28 +02:00
Rafał Dzięgiel
c53cde4d78 Merge pull request #126 from Rafostar/gestures
Add side double tap gesture and update shortcuts window
2021-08-01 10:29:08 +02:00
Rafał Dzięgiel
b308ae367f sink: When GTK is using GLES on EGL, use it too
If for some reason GTK ended up with using EGL with GLES instead of OpenGL and user
did not specify anything other, use it by default in gstreamer part of the app too.
2021-07-28 18:00:08 +02:00
Rafostar
b2005fd34f Describe gestures in shortcuts window 2021-07-28 17:09:32 +02:00
Rafostar
a6dfeeca37 Switch playlist items via double tap on screen side
Double press left side of the touchscreen to play previous item, right side to play next one. #93
2021-07-28 12:06:18 +02:00
Rafostar
90844e49ad API: Add video/audio decoder changed signals 2021-07-28 12:02:52 +02:00
Rafostar
eb60d036db Update PKGBUILD files 2021-07-20 13:44:03 +02:00
Rafał Dzięgiel
6e20a5fa12 Update README.md 2021-07-20 11:25:44 +02:00
Rafał Dzięgiel
cf370961b4 Merge pull request #106 from mattblaha/cleanup-readme
Grammatical cleanups in readme
2021-07-19 20:51:46 +02:00
Matt Blaha
6db36d6ac2 Align build/built with the project description on github, several other small grammatical cleanups. 2021-07-19 12:14:12 -05:00
Rafostar
4738673f7f Fix bottom OSD margins on multi monitors setup
When player enters high resolution display, margins are being recalculated,
but when it goes back dragged to some lower resolution screen they are not.
This is wrong, as they should be reset back to the initial value which is zero.

Fixes #102
2021-07-19 12:43:01 +02:00
Rafostar
1004000ba2 Leave fullscreen with "Esc" key 2021-07-18 15:34:41 +02:00
Rafał Dzięgiel
e40f11def5 sink: Small code cleanup 2021-07-16 23:50:26 +02:00
Rafał Dzięgiel
5378facb46 Add long press gesture to toggle play/pause #93
Press and hold on touchscreen while in fullscreen to toggle between play and pause
2021-07-16 18:31:26 +02:00
Rafał Dzięgiel
c6b252f261 Reduce icon height a little #92
Make icon a tiny bit smaller in height. This also makes the play logo a little more centered vertically.
2021-07-15 11:24:16 +02:00
Rafał Dzięgiel
0f1447b14e sink: Check navigation state with a lock held
This happens as callback from GTK thread, so its not thread safe
2021-07-13 19:57:31 +02:00
Rafał Dzięgiel
cfd6e1bd23 Merge pull request #91 from bridadan/mobile_youtube_urls
Parse mobile youtube URLs
2021-07-12 21:35:03 +02:00
Brian Daniels
0cb89d3a84 Parse mobile youtube URLs.
Add support for youtube URLs with the format m.youtube.com?v=<video id>
2021-07-12 15:09:39 -04:00
Rafał Dzięgiel
3bf636d46b sink: Do not send navigation events when not playing
Before playback starts our video display size is zero, no point in sending navigation events in such case.
Latest gstreamer git prints criticals in such case.

Also do not send mouse navigaion when element is paused and skip keypresses when below paused state.
2021-07-08 20:33:12 +02:00
Rafał Dzięgiel
8f79a76a51 flatpak: Update metainfo description
Clapper was tested and confirmed to work with V4L2 stateless decoders. Also since latest GTK4 version moved to EGL on Xorg we no longer have the GLX related problems we used to have.
2021-07-06 10:00:28 +02:00
Rafał Dzięgiel
0efe9144d8 Merge pull request #90 from Rafostar/external-oes
sink: Support rendering external-oes textures
2021-07-05 22:31:12 +02:00
Rafał Dzięgiel
2e776ddf7b sink: Support rendering external-oes textures
This significantly improves performance on mobile devices by
removing the texture copy from an OES texture to 2D texture.
2021-07-05 22:08:51 +02:00
Rafostar
2eea3b05b1 flatpak: Include run number in testing github action 2021-06-27 11:04:06 +02:00
Rafał Dzięgiel
e647cdc8c6 Update README.md 2021-06-25 09:18:56 +02:00
Rafał Dzięgiel
1f3ddab566 flatpak: Fix duplicated cache key name 2021-06-25 08:56:07 +02:00
Rafał Dzięgiel
a38480c46b Merge pull request #88 from Rafostar/workflow
Add Flatpak workflows
2021-06-24 20:31:17 +02:00
Rafał Dzięgiel
562587846a Add flatpak testing workflow
Builds nightly with latest GStreamer from git (no patches applied)
2021-06-24 19:45:15 +02:00
Rafał Dzięgiel
c6cd829e7b Add flatpak workflow
Builds on push/pull with Flathub patches
2021-06-24 19:44:52 +02:00
Rafał Dzięgiel
9b31581aac flatpak: Add app testing manifest version
The main difference is that it builds latest GStreamer from git master and uses
runtime provided version of GTK4 (both without any patches applied).

This is done for testing purposes or finding regressions.
2021-06-24 16:55:53 +02:00
Rafał Dzięgiel
5018b3a28a Use new PiP icons when available
Use the new "pip-in" and "pip-out" GNOME symbolic icons if user theme has them for enter/leave floating mode button. When icon is unavailable on the host, old icon will be used instead.
2021-06-23 14:24:59 +02:00
Rafostar
bad836cc6d flatpak: Fix wrong module path 2021-06-20 15:50:21 +02:00
Rafał Dzięgiel
e1845a212f Merge pull request #87 from Rafostar/pipewire
Add PipeWire support
2021-06-20 15:46:03 +02:00
Rafostar
f86e32ed88 flatpak: Sync with Flathub 2021-06-20 15:17:15 +02:00
Rafostar
af2c74a4b1 flatpak: Support PipeWire GStreamer plugins
We need to allow PipeWire socket access and symlink the pipewire
plugin to the dir where our custom GStreamer installation is.
2021-06-20 14:44:49 +02:00
Rafostar
1c414ef36b API: allow using PipeWire for audio output
Instead of using PulseAudio sink and making a round way through pipewire-pulse,
access and use PipeWire directly for audio output when user sets env var
GST_CLAPPER_USE_PIPEWIRE=1
2021-06-20 11:27:43 +02:00
Rafał Dzięgiel
11e89dab26 Update README.md 2021-06-18 21:35:15 +02:00
Rafał Dzięgiel
37d2f7aebd 0.3.0 2021-06-18 15:04:01 +02:00
Rafał Dzięgiel
f2ac3b20a3 meson: Install new symbolic icon 2021-06-18 10:28:25 +02:00
Rafał Dzięgiel
ade60b93a4 Merge pull request #86 from SeaDve/master
Add symbolic icon
2021-06-18 10:25:42 +02:00
Dave Patrick
48bc96f074 Add symbolic icon 2021-06-18 08:59:46 +08:00
Rafał Dzięgiel
0d9cb91705 Update TODO.md 2021-06-17 17:20:42 +02:00
Rafał Dzięgiel
21ccab1cc2 Add option to keep showing last video frame after playback
Previously Clapper showed last frame, now it defaults to black screen, so add an option for users to choose what they like better
2021-06-16 15:34:36 +02:00
Rafał Dzięgiel
bea3b1670d API: Raise ignored duration changes to 250 milliseconds
We do not show milliseconds in GUI, so we should not try to handle stream gaps that short.
2021-06-16 11:07:50 +02:00
Rafał Dzięgiel
0d4d3f1a8c sink: Avoid props code duplication 2021-06-16 09:43:55 +02:00
Rafał Dzięgiel
fc525ffcb1 sink: EGL on X11 from GTK 4.3.1
Recent GTK 4.3.1 release already uses EGL on x11, so lower the version check to that version
2021-06-15 16:52:47 +02:00
Rafał Dzięgiel
6f1a5626bc API: get MPRIS with a lock
Otherwise it is not thread safe
2021-06-15 16:16:29 +02:00
Rafał Dzięgiel
fbe6a8804c yt: Set some initial player version
It does not have to be up-to-date and even if it fails, we have a fallback that will update it anyway
2021-06-08 16:54:20 +02:00
Rafał Dzięgiel
c0b92c190b mpris: Fix wrong object type
Fix a copy-paste bug
2021-06-05 22:24:26 +02:00
Rafał Dzięgiel
8fc64eaf73 sink: Automatically draw black when going to NULL state
Remove all workarounds including ignore_textures prop and draw black functions and handle that automatically in sink when going into NULL state.
2021-06-02 20:56:50 +02:00
Rafał Dzięgiel
0b7f31b7c2 API: Properly return a boolean instead of a number 2021-06-02 20:24:40 +02:00
Rafał Dzięgiel
2d4353aaec Append some common subtitle track titles
In order to not end up with multiple subitle tracks simply named for e.g. "English", add some common postfix to it when detected in track title.
2021-06-02 15:47:09 +02:00
Rafał Dzięgiel
7062af472b API: Add function to get subtitle track title 2021-06-02 11:08:30 +02:00
Rafał Dzięgiel
1f4698448a Detect used GStreamer plugin names
Allows seeing what plugins are used with GST_DEBUG=Clapper:4. This is also needed for yet to come functionality of setting elements props.
2021-06-01 21:57:14 +02:00
Rafał Dzięgiel
95c8316af6 Change Enter key help description
OSD makes more sense to users then controls as it also shows top title and time layers
2021-06-01 08:31:02 +02:00
Rafał Dzięgiel
06d9f302c2 Revert "sink: Use g_main_context_invoke_full for drawing"
Not much benefit from using this function and unlike g_idle_add_full it
does not allow to skip a frame when previous one was not finished (slow HW).

This reverts commit f8a7abe195.
2021-05-31 18:07:37 +02:00
Rafał Dzięgiel
6246777f06 Prefer custom title over media info one
Otherwise YT videos will all show filename of dash manifest as title
2021-05-31 17:46:19 +02:00
Rafostar
1f781716d7 Add env variable to display FPS 2021-05-30 11:14:51 +02:00
Rafał Dzięgiel
0d7ef22c88 Merge pull request #77 from Rafostar/mpris
Add MPRIS
2021-05-26 22:01:49 +02:00
Rafał Dzięgiel
57664f32da sink: Do not send the same cursor coords on each GUI redraw 2021-05-26 21:15:58 +02:00
Rafał Dzięgiel
f8a7abe195 sink: Use g_main_context_invoke_full for drawing
Queue draws to application (and GTK) main context using g_main_context_invoke_full method
2021-05-26 20:59:50 +02:00
Rafostar
5f259b28fe mpris: Add "SupportedUriSchemes" and handle "OpenUri" method 2021-05-26 15:14:28 +02:00
Rafostar
9f776e9ecb mpris: Support changing volume 2021-05-26 15:13:30 +02:00
Rafał Dzięgiel
edb799bafa API: Parse title from URI when no title in tags 2021-05-24 15:35:04 +02:00
Rafał Dzięgiel
7535c4e598 mpris: Support position reporting and seeking 2021-05-24 15:34:47 +02:00
Rafał Dzięgiel
f0475ee055 API: Support seeking by offset 2021-05-24 15:33:52 +02:00
Rafał Dzięgiel
68d7205ead mpris: Support metadata url, title and length 2021-05-24 15:33:38 +02:00
Rafał Dzięgiel
f08ffad178 Initial MPRIS support
Implement a working MPRIS DBus connection with a separate API to control it. Right now only player playback state is reflected and Play/Pause/PlayPause calls work.
2021-05-24 15:33:15 +02:00
Rafał Dzięgiel
c2de0b7b33 yt: Use "html5=1" request query string 2021-05-24 13:04:10 +02:00
Rafał Dzięgiel
ac7be5956c Update Flathub submodule 2021-05-20 18:55:17 +02:00
Rafał Dzięgiel
76a1efab58 flatpak: Build from local dir instead of git
Allows doing test builds with unmerged changes
2021-05-20 17:27:47 +02:00
Rafał Dzięgiel
a2bbd2708d sink: Support EGL under x11 with GTK 4.4+ 2021-05-14 18:11:58 +02:00
Rafał Dzięgiel
9e77660cac Mark extras dir contents as linguist-vendored 2021-05-13 21:28:35 +02:00
Rafał Dzięgiel
5ea22450c0 Use custom getUriProtocol function
Gst.Uri.get_protocol function is very simple. It just splits string by ":" and return the first part. We can do the same in JS and by doing that we do not have to initialize GStreamer just to get this function.
2021-05-13 21:24:28 +02:00
Rafał Dzięgiel
6ae38327ca Leave CSS fullscreen optimization applied
Do not apply and remove fullscreen optimization class when going/leaving fullscreen. Instead set it to be applied to fullscreen only with CSS.
2021-05-13 21:13:18 +02:00
Rafał Dzięgiel
9006e56534 Add "text/x-ssa" to list of known subtitle mimes
GStreamer does not do external .ass subs ATM, but we should treat them as subtitles anyway.
2021-05-13 21:01:11 +02:00
Rafał Dzięgiel
af0e082c43 Readapt to changed monitor on the fly
Check and apply/remove TV mode UI on the fly when switching monitors.
This allows for e.g. having a mobile device connected to external big screen,
drag Clapper window from one screen to another and UI should automatically
adapt between mobile and TV modes without interrupting playback.

This also helps in situations where monitor size is not initially known
on window map #74.
2021-05-12 15:31:15 +02:00
Rafostar
2f5d6d60ed API: add debug messages about dropped buffers 2021-05-06 14:34:08 +02:00
Rafał Dzięgiel
9d537c7318 Update TODO.md 2021-05-04 19:05:46 +02:00
Rafostar
970b1487ac Restore manual play call
Autoplay was causing some racy conditions when loaded with subtitle uri. Make it play after uri loaded signal, but still prevent going from stopped to play 2nd time.
2021-05-04 18:46:22 +02:00
Rafostar
fc51fd857c Fix missing actions shortcuts in main menu
Actions were loaded too early, causing GTK to not recognize them and show their keyboard shortcuts next to main menu items
2021-05-03 19:26:22 +02:00
Rafostar
b419ed7922 Add keyboard shortcuts window 2021-05-03 19:26:06 +02:00
Rafostar
4f69183b85 Flatpak: use libs and patches from Flathub as submodule
I do not want to maintain them in two different places
2021-05-03 14:12:05 +02:00
Rafostar
98df55b231 Do not forget to destroy file chooser 2021-05-02 22:20:51 +02:00
Rafostar
6a4f5f2560 Export playlist to file with Ctrl+E 2021-05-02 20:25:15 +02:00
Rafostar
efe9439633 Do not ref all dialogs
The bug that we try to workaround here affects only file chooser dialog and not every dialog, so do not increase ref count on them
2021-05-02 17:29:15 +02:00
Rafostar
4179176ce8 Sink: queue render on GTK settings change
We have turned off auto rendering in video widget, hence we need to manually refresh when user changes some GTK settings (theme, icons etc.)
2021-05-02 15:51:14 +02:00
Rafostar
a7288adf4c Do not check Ids length in shuffle repeat mode
We always have at least 2 playlist items, thus at least 1 Id in array when we reach this point in code
2021-05-01 12:27:56 +02:00
Rafostar
9bb3f999b1 Also seek to 0 for other repeat modes with 1 item playlists 2021-05-01 12:15:07 +02:00
Rafostar
0e6507682a Do not show visualizations button when no audio tracks 2021-05-01 12:11:16 +02:00
Rafał Dzięgiel
2d8471dea0 Add playlist shuffle repeat mode #52 2021-04-29 12:26:40 +02:00
Rafał Dzięgiel
68f49c1495 Replace media playlist playing icon with repeat button #52
Show current and toggle change of repeat mode inside the playlist popover. The previous currently playing icon did not reflect actual playing state, so this should be better and does not take more space in UI.
2021-04-29 11:44:07 +02:00
Rafał Dzięgiel
a8bb6c40f4 Add more WebSocket API actions 2021-04-28 12:40:27 +02:00
Rafał Dzięgiel
71db78a0f6 Use "window.close" action instead of "close-request" 2021-04-28 12:15:20 +02:00
Rafał Dzięgiel
4133557086 Do not send or apply undefined args over WebSocket 2021-04-28 11:50:14 +02:00
Rafał Dzięgiel
d926e6b389 Add keybinding to change repeat mode #52 2021-04-27 15:25:22 +02:00
Rafał Dzięgiel
fd2de8b9b6 Add repeat mode options to playlist #52 2021-04-27 14:50:54 +02:00
Rafał Dzięgiel
de65eee106 API: simplify playbin flags detect function 2021-04-27 12:28:59 +02:00
Rafał Dzięgiel
9b07ff7dc5 Mention that packages from my repo are unstable 2021-04-27 11:23:42 +02:00
Rafał Dzięgiel
047dd12fbb Restore initial GUI state after playback 2021-04-27 11:14:09 +02:00
Rafał Dzięgiel
3238270c0d Ignore duration changes below 1ms during playback 2021-04-27 10:43:13 +02:00
Rafał Dzięgiel
997e47b93c API: let client decide what to do on EOS #52 2021-04-27 09:24:13 +02:00
Rafał Dzięgiel
ec1d4619a7 API: make "state" into a property 2021-04-26 22:30:01 +02:00
Rafał Dzięgiel
f4e48c9f8c Sink: render black on READY_TO_NULL state change
Show black background when playback finishes
2021-04-26 20:42:00 +02:00
Rafał Dzięgiel
1da6b94efc API: simplify EOS handling
Do not try to play smart with EOS by seeking to beginning. This leads to various errors or crashes. Just signal it and stop afterwards.
2021-04-26 20:40:44 +02:00
Rafał Dzięgiel
e4335721be Simplify auto-fullscreen logic 2021-04-26 17:51:20 +02:00
Rafał Dzięgiel
45d2702e01 API: fix missing drop of signals inhibit 2021-04-26 17:36:28 +02:00
Rafał Dzięgiel
a8aca7b3c0 API: make it autoplay on the same context invoke 2021-04-26 14:47:42 +02:00
Rafał Dzięgiel
c6e8824e3b API: add toggle_play method 2021-04-26 14:21:33 +02:00
Rafostar
e92ad68220 Print a warning when plugin rank cannot be changed 2021-04-25 22:00:00 +02:00
Rafostar
a98ca53dfb Use Gio.SimpleAction as only keypress handler 2021-04-25 20:19:44 +02:00
Rafał Dzięgiel
32995fc6a6 Sort chapters arr when switching to prev/next one
TOC representation obtained for some video files might be out of order. Sort them when switching between chapers, otherwise "next" chapter might not be the nearest one.
2021-04-22 15:48:16 +02:00
Rafał Dzięgiel
6b5240ddbc Add missing return value 2021-04-22 15:35:16 +02:00
Rafał Dzięgiel
46ef6bcd1d Use "const" for chapters keys
Array is reversed but variable holding it is not replaced in this function, so "const" can be used here
2021-04-22 15:28:19 +02:00
Rafał Dzięgiel
bd13a3c15a Use Shift+Left/Right to switch video chapters 2021-04-22 14:40:21 +02:00
Rafał Dzięgiel
edfa85b5cc Use Ctrl+Left/Right to switch playlist items. Closes #63 2021-04-22 14:32:02 +02:00
Rafał Dzięgiel
084f78a851 Change actions naming scheme
Use _ instead of capital letters in words for actions names. This will make some other stuff much easier.
2021-04-22 14:29:40 +02:00
Rafał Dzięgiel
c9b2f25192 Act on key press, not release 2021-04-22 14:13:53 +02:00
Rafał Dzięgiel
6f39b3939a Do not get ancestor on key release if unneeded 2021-04-21 18:14:13 +02:00
Rafał Dzięgiel
ee78ffb1e4 Fix seeks when window tiling with Super key
Super key is consumed by shell and never reaches app key press detection. Use that to fix seeking when tiling window by ignoring all key releases that did not have a key press beforehand.
2021-04-21 17:04:09 +02:00
Rafał Dzięgiel
bfbbc517d5 Small cleanup 2021-04-21 16:59:06 +02:00
Rafał Dzięgiel
7559a61c9f Hold Ctrl while doing D&D to append items to playlist instead of replacing it 2021-04-21 14:56:26 +02:00
Rafał Dzięgiel
deb273179f Add append_playlist function 2021-04-21 14:55:20 +02:00
Rafał Dzięgiel
231af36ef6 Enumerate local directories only 2021-04-20 19:31:24 +02:00
Rafał Dzięgiel
2e892c923b Support opening folders with media files
D&D folder with videos onto Clapper window to play them as video playlist. If folder contains exactly one video and subtitle file, then that video will be played with subtitles automatically applied.
2021-04-20 18:44:53 +02:00
Rafał Dzięgiel
0ab0b66825 0.2.1 2021-04-19 13:06:40 +02:00
Rafał Dzięgiel
d901eb4712 Update README.md 2021-04-19 10:31:30 +02:00
Rafał Dzięgiel
fe03719b38 Show tooltip with full playlist item text on hover
Some titles might be more than few words and will not fit in current playlist popover. Instead of stretching it, show full playlist item filename (or path) on hover in a tooltip.
2021-04-18 18:44:16 +02:00
Rafał Dzięgiel
f0ea7ae798 Remove set_seek_mode check
We now use a custom GstPlayer fork that has it added
2021-04-18 15:28:55 +02:00
Rafał Dzięgiel
380236b8ba Cleanup: do not extend player class twice
We only use the base class once, no need to have it separately then. Merge into single file.
2021-04-18 15:25:02 +02:00
Rafał Dzięgiel
e721130a63 YT: live videos with duration are not live anymore 2021-04-18 14:13:30 +02:00
Rafał Dzięgiel
eaf090d2e2 YT: be a little more quiet about some errors
Some errors are to be expected for some videos. Quietly use fallback methods for them without printing those errors.
2021-04-18 14:04:53 +02:00
Rafał Dzięgiel
87115f43d7 YT: store adaptive option value in itag opts
So its easier to access and obtained only once
2021-04-17 20:35:15 +02:00
Rafał Dzięgiel
33a5ec18fa Change prefs adaptive streaming text
This option sets the preferred streaming mode. When unavailable, other might still be used as a fallback.
2021-04-17 18:06:34 +02:00
Rafał Dzięgiel
ab8cafa0b8 YT: support non-adaptive live streaming 2021-04-17 18:03:33 +02:00
Rafał Dzięgiel
62b6de6db2 YT: support live HLS videos 2021-04-17 16:14:21 +02:00
Rafał Dzięgiel
643c2029d0 Fix wrong indentation size
All the other code uses 4 spaces indent
2021-04-17 13:12:58 +02:00
Rafał Dzięgiel
9799783ee5 Use Gst.(M)SECOND constants instead of numbers
It makes code easier to read
2021-04-17 13:08:12 +02:00
Rafał Dzięgiel
457cbde25e Remove unused return value
This function already appends to passed array. No need to return it.
2021-04-16 11:03:44 +02:00
Rafał Dzięgiel
2fd94fdc70 Add some YouTube related preferences 2021-04-16 10:37:17 +02:00
Rafał Dzięgiel
3a998fb91e YT: auto select best matching resolution for used monitor 2021-04-16 09:53:21 +02:00
Rafał Dzięgiel
b02f54a3a6 Do not show mobile controls transition on launch
Start app with the correct controls layout instead of showing the "hide elapsed time"
transition when started on mobile width. It is annoying.

We cannot detect surface width during app widgets assembly, so update the controls
revealers state on first surface update after window is mapped and only if running
on mobile width. Otherwise do not do anything like before which will result in
showing fully revealed controls (default).
2021-04-15 15:27:28 +02:00
Rafał Dzięgiel
ca7b44092e API: do not lock when changing scaled size values
Those values are private and should be accessed only from GTK thread, so locking widget should not be necessary here.
2021-04-15 11:58:12 +02:00
Rafał Dzięgiel
adbcfecb5e API: unset needs_info_update when stopped 2021-04-15 11:30:55 +02:00
Rafał Dzięgiel
a717e481e8 Fix missing top left menu buttons. Fixes #66
On some non-default system configurations the "menu" layout item might be replaced with one named "icon". Handle "icon" the same as "menu" when organizing headerbar buttons.
2021-04-14 17:48:57 +02:00
Rafał Dzięgiel
4766efbbc4 0.2.0 2021-04-13 12:45:03 +02:00
Rafał Dzięgiel
28c1daf709 Save and offer resume only for local files
We do not know if the online URI still leads to the same file as before (or if different one leads to previous). Additionally we would also need to check if media is seekable. Disable for now to avoid problems.
2021-04-12 22:29:20 +02:00
Rafał Dzięgiel
aa49d25df5 Stop pipeline before replacing playlist 2021-04-12 19:28:12 +02:00
Rafał Dzięgiel
774687710f Add setting to enable YouTube adaptive streaming
For now hidden because other related YouTube settings like min/max resolution, codecs etc. are not done yet
2021-04-12 18:45:36 +02:00
Rafał Dzięgiel
901fc8d760 YT: try harder to find suitable DASH streams
Instead of searching for 1080p only, accept also other H.264 formats for DASH streaming
2021-04-12 17:41:42 +02:00
Rafał Dzięgiel
ab32b2dbbc API: emit media info updated signal after video info updates
This fixes problem with wrong video resolution reported in media info due to being emitted before values were updated.
2021-04-12 17:38:44 +02:00
Rafał Dzięgiel
24bb9f298b Avoid situations with no menu in headerbar
Some shells might want to show menu button outside of the app. We do not support that.
2021-04-12 17:30:00 +02:00
Rafostar
2efa3e0bf6 YT: fix non-working best combined URIs
Fix an undefined variable introduced during recent code cleanup
2021-04-11 16:34:02 +02:00
Rafostar
92e3f7d93c YT: move info ready debug message before signal emit
Otherwise it will appear in wrong order in debug output and be misleading
2021-04-11 15:44:08 +02:00
Rafostar
85804ea297 Move YT related functions from player to youtube script 2021-04-11 15:35:41 +02:00
Rafostar
7cf86e92eb YT: resolve redirects on the Clapper side
Instead of providing URIs directly to GStreamer, follow redirects and provide that final URI. With this change souphttpsrc will not have to go through redirects from the beginning for each video segment.
2021-04-11 14:46:08 +02:00
Rafostar
b5711b145b Set Soup import version to 2.4
With Soup 3.0 release, there is a possibility of having both on the host. Set used version to 2.4 to avoid warnings and compatibility errors for now.
2021-04-10 21:41:28 +02:00
Rafostar
9271392397 Change default window size
Controls panel height is now 3px less then before (as intended). Change default window size setting to make it look good with 16:9 video on fresh install.
2021-04-10 14:58:24 +02:00
Rafał Dzięgiel
175de5bd6d Flatpak: update FFmpeg to 4.4 2021-04-09 21:54:54 +02:00
Rafał Dzięgiel
7b97f29aaf Flatpak: fix GTK4 build script 2021-04-09 21:14:56 +02:00
Rafał Dzięgiel
8d7fb761f7 Always reset auto fullscreen boolean value
Otherwise we would keep checking the settings with each playlist file and accidentally entered fullscreen when that setting value was changed in middle of playback.
2021-04-09 19:58:33 +02:00
Rafał Dzięgiel
aec2166c11 Only auto fullscreen with new playlist
This fixes a bug when player would enter fullscreen when changing playlist item
2021-04-09 19:34:17 +02:00
Rafał Dzięgiel
c21b214477 Tweak how auto fullscreen option works
When auto fullscreen is enabled, enter fullscreen on each media load
unless player is in floating mode in which probably user wants it to remain.
2021-04-09 19:11:34 +02:00
Rafał Dzięgiel
d9939a94c2 Fix some error messages not being displayed 2021-04-09 18:49:44 +02:00
Rafał Dzięgiel
dafa2cfdf5 Fix missing file extension in online URIs 2021-04-09 18:16:02 +02:00
Rafał Dzięgiel
ebe72f20b5 Hide end time together with title when stopped 2021-04-09 17:54:48 +02:00
Rafał Dzięgiel
fa1455556b Treat media without duration as live content 2021-04-09 16:07:11 +02:00
Rafał Dzięgiel
8fb6b971fe Always try to update end time after new media info 2021-04-09 13:53:43 +02:00
Rafał Dzięgiel
1bf46a2f12 Fix top time not showing up on fullscreen startup 2021-04-09 11:37:19 +02:00
Rafał Dzięgiel
a39c67e5e7 Check if local subtitle file exists before loading it
Otherwise GStreamer will error out and playback will stop. Non-existing subtitle file is common on Flatpak when user tries to open/drop a file from a folder that container does not have access to.
2021-04-09 10:55:06 +02:00
Rafał Dzięgiel
a3f78432f8 Flatpak: update GTK4 to latest git
GTK 4.2.0 has some problems that were fixed recently. Update to post release git.
2021-04-08 20:56:50 +02:00
Rafał Dzięgiel
7a7a04554f Flatpak: remove glib-networking dependency
Runtime has now up-to-date version
2021-04-08 20:54:46 +02:00
Rafał Dzięgiel
93de3dc056 Flatpak: update runtime to 40 2021-04-08 20:52:35 +02:00
Rafał Dzięgiel
eda80f314e API: replace source-setup with element-setup callback
Otherwise user agent is only set for source elements and not for further pipeline elements (e.g. dashdemux => souphttpsrc)
2021-04-08 18:24:49 +02:00
Rafał Dzięgiel
b3e6890571 Flatpak: add dashdemux sdix range download patch 2021-04-08 17:19:22 +02:00
Rafał Dzięgiel
c767b3e4b2 Separate debug messages for YouTube 2021-04-08 12:09:42 +02:00
Rafał Dzięgiel
ec6157763b YT: do not try to get info again for current download 2021-04-08 11:05:20 +02:00
Rafał Dzięgiel
cca3077936 Fix startup window size on XOrg
The window size was restored too early which caused the window to be a little bigger then it should on each launch. Restore window size after that window was mapped.
2021-04-07 20:07:05 +02:00
Rafał Dzięgiel
b5e1b3ab86 Flatpak: workaround crashes in adaptive streaming on Intel GPUs #51 2021-04-07 17:43:32 +02:00
Rafał Dzięgiel
b15b94fc90 Convenient ways of opening external subtitles
Play video with external subtiles by:
* selecting and opening both video+subs from file chooser/manager
* dropping subtitles file on player window
* opening subtiles from file chooser/manager while video plays
* send their file path/uri to player via WebSocket message
2021-04-07 16:33:21 +02:00
Rafał Dzięgiel
28d8986072 Update .gitattributes 2021-04-07 08:56:30 +02:00
Rafał Dzięgiel
30a7229b33 API: add media info updated signal
Emit media info updated signal only when media info is initially created and when number/format of tracks changes later. This is needed for GUI to detect resolution change (adaptive streaming) or when user adds external subtitles to current video.
2021-04-06 18:49:08 +02:00
Rafał Dzięgiel
9502e062f4 Support "Default" theme
Adwaita was renamed to Default in latest GTK4 code.
We need to detect it and treat it the same way as we did for Adwaita.

More info in related GTK4 MR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3079
2021-04-02 11:43:36 +02:00
Rafał Dzięgiel
6a9c77dfad Fix file paths in debug messages 2021-04-01 22:31:54 +02:00
Rafał Dzięgiel
133cda1b41 Fix forgotten ByteArray import during moving code 2021-04-01 22:31:22 +02:00
Rafał Dzięgiel
e68a7fe31a Work around GioFile promisify bug caused by GLib 2.68 2021-04-01 22:05:43 +02:00
Rafał Dzięgiel
7f69bee11c Move all file operations code to single file 2021-04-01 21:58:50 +02:00
Rafał Dzięgiel
295af9fd24 Improve debug messages for file operations 2021-04-01 20:20:42 +02:00
Rafostar
d04297620b Apply controls offset for Adwaita icons only
Only some icons from Adwaita get size modifications. Others themes do not need this, so they should not have an offset applied.
2021-03-31 21:38:44 +02:00
Rafostar
43acfddb06 Sink: inform about used OpenGL(ES) version 2021-03-31 17:34:49 +02:00
Rafostar
d54781eda7 Revert "Sink: limit GL APIs to OpenGL3+ and GLES2+"
This reverts commit 3fd30e41bf.

Some pipeline elements might still need to use (and work) on
older OpenGL versions.
2021-03-31 16:51:50 +02:00
Rafał Dzięgiel
96e5c5aa7c Restore 5px button margins for TV mode
They were reduced too much recently, causing chapter marks to not fit properly onto the controls bar
2021-03-31 09:04:29 +02:00
Rafał Dzięgiel
66ce006f00 Move buttons margins to CSS and tweak them a little 2021-03-30 22:15:12 +02:00
Rafał Dzięgiel
3fd30e41bf Sink: limit GL APIs to OpenGL3+ and GLES2+
Only allow using OpenGL 3.2+ or OpenGL ES 2.0+. This is what GTK4 supports.

#59
2021-03-29 14:38:19 +02:00
Rafał Dzięgiel
a6316c940c YT: always use up to date timestamp 2021-03-26 11:52:32 +01:00
Rafał Dzięgiel
84d9cc7416 Add DBus init debug message 2021-03-26 11:42:41 +01:00
Rafał Dzięgiel
a3499e9b47 Remove unused variable 2021-03-24 21:20:15 +01:00
Rafał Dzięgiel
4a60e01131 Auto set brighter sliders on Adwaita dark only 2021-03-24 21:16:41 +01:00
Rafał Dzięgiel
b404eb2f56 Increase play/pause icon size only on Adwaita theme
Adwaita theme has unusually small media constrols icons, but other popular themes do not. Instead increasing those icons on every theme do it only for Adwaita where problem occurs.
2021-03-24 20:36:08 +01:00
Rafał Dzięgiel
1f18796e0d Make buttons separator black on all themes
Using default @borders value causes it to be white even when all OSD buttons are half transparent black.
2021-03-24 20:04:09 +01:00
Rafał Dzięgiel
254aa538a5 YT: fix expire calc for long movies
Do not multiply video length when calculating expiration date. Otherwise for very long movies we might end up with with a past date.
2021-03-24 20:02:19 +01:00
Rafał Dzięgiel
58cc45ec7d Support accels for menu items
Add support for keyboard shortcuts for menu items. Additionally enable a common Ctrl+O for opening new file(s) and Ctrl+U for opening an URI.

Closes #45
2021-03-24 14:07:20 +01:00
Rafał Dzięgiel
7a75c6d4ff Merge pull request #55 from Rafostar/gl-mods
Simplify GL Sink code
2021-03-22 08:55:04 +01:00
Rafał Dzięgiel
2e97fc362c Dash: add segment ranges only to streams that have them 2021-03-19 15:19:00 +01:00
Rafał Dzięgiel
d762a59cc4 YT: do not keep URI in temp data twice 2021-03-19 14:27:55 +01:00
Rafał Dzięgiel
b42843be1f YT: do not check playability of saved temp data
Saved video info is always playable, otherwise its not saved in first place.
2021-03-19 11:43:37 +01:00
Rafał Dzięgiel
6dc825dfb3 YT: reduce amount of temp data stored per video 2021-03-19 11:25:36 +01:00
Rafał Dzięgiel
e89b3599c9 Remove "escape" key handler
It was conflicting with GTK build-in escape key functionality for closing popovers
2021-03-19 10:29:44 +01:00
Rafał Dzięgiel
79e12a6e36 YT: support obtaining info from player API 2021-03-19 10:26:46 +01:00
Rafał Dzięgiel
36d4a5c848 YT: replace some URL chars with slashes instead encoding it
Avoid dashdemux string query omission bug by using URL path with slashes instead of query string
2021-03-18 09:40:46 +01:00
Rafał Dzięgiel
38e5bae199 Replace lookbehind regexp
This was only supported in latest GJS version
2021-03-18 09:28:00 +01:00
Rafał Dzięgiel
fcff4b4450 Store all temp files in app named temp subdirectory 2021-03-17 11:57:02 +01:00
Rafał Dzięgiel
4021745a56 YT: set the same user agent as in player client 2021-03-17 10:47:38 +01:00
Rafał Dzięgiel
bd20d305ba YT: store reusable alive info in temp folder 2021-03-17 10:38:39 +01:00
Rafał Dzięgiel
d9b35b7fb8 YT: try only once
Avoid triggering 429 ban, by not trying second time
2021-03-16 19:45:33 +01:00
Rafał Dzięgiel
f1e00434ba Fix reference to undefined object 2021-03-16 13:44:22 +01:00
Rafał Dzięgiel
918157be04 Cooooookies!!! 2021-03-16 13:12:44 +01:00
Rafał Dzięgiel
72b55939b4 YT: abort on 429 error 2021-03-16 10:33:31 +01:00
Rafał Dzięgiel
e0a3ef78db YT: pass download info using object intead of array 2021-03-16 10:20:01 +01:00
Rafał Dzięgiel
4f46a7eaa8 YT: handle embedded videos URIs 2021-03-15 20:15:24 +01:00
Rafał Dzięgiel
050ef440dc Merge pull request #54 from Rafostar/yt-cache
YouTube cache
2021-03-15 16:37:55 +01:00
Rafał Dzięgiel
a4d55f8114 YT: store and load decipher actions from Clapper cache dir 2021-03-15 16:35:36 +01:00
Rafał Dzięgiel
aa60c56a58 Treat "yt" and "youtube" URI schemes as YouTube videos
You can set URI to "yt://VIDEO_ID" for YouTube videos
2021-03-15 13:40:50 +01:00
Rafał Dzięgiel
8c307dc90f YT: save decipher actions only after successful deciphering 2021-03-15 13:14:41 +01:00
Rafał Dzięgiel
5b6141ee8c YT: do not check player ID if actions are cached 2021-03-15 13:07:12 +01:00
Rafał Dzięgiel
8f294604dc Remove drop target from top revealer
It is causing various issues unfortunately
2021-03-14 23:33:29 +01:00
Rafostar
06f8e5d259 YT: cache current decipher actions 2021-03-14 21:00:18 +01:00
Rafostar
6370e1126b YT: check if decipher produced result 2021-03-14 16:50:23 +01:00
Rafostar
270e59137d YT: check if player URI is valid 2021-03-14 16:39:22 +01:00
Rafostar
ec18ca989a YT: decipher videos with signatures
Increase amount of playable YouTube videos by deciphering the ones that require to do so.

Many thanks to "node-ytdl-core" devs for JS regular expressions needed for YouTube player parsing.
2021-03-14 15:51:19 +01:00
Rafał Dzięgiel
46d24536c0 Do not keep invalid YT video info 2021-03-12 15:10:18 +01:00
Rafał Dzięgiel
c89d488c30 Prefetch YouTube video info on hover
Speed up loading of YouTube videos by downloading and parsing their info before video is dropped into player.
2021-03-12 13:05:58 +01:00
Rafał Dzięgiel
01c26cbbc3 Small text formatting fix 2021-03-12 08:50:52 +01:00
Rafał Dzięgiel
4375077dbc Decode custom video title from info
The values in JSON info are URI encoded with "+" signs, add custom decode function that decodes them.
2021-03-11 18:49:08 +01:00
Rafał Dzięgiel
fceb8ff70a YouTube support. Closes #46 2021-03-11 17:34:54 +01:00
Rafał Dzięgiel
6dc37088cf Fix error when playback finishes during controls reveal animation 2021-03-08 10:37:40 +01:00
Rafostar
4e85f6b749 API: set some common user agent
Some internet sites might prevent us from access unless some sort of a user agent is set
2021-03-07 21:37:01 +01:00
Rafostar
0cd82b1b8a API: remove video sink plugin selection
Clapper only has and supports one video sink. I would rather replace it than forcing support for multiple plugins.
2021-03-06 22:09:27 +01:00
Rafostar
39da52dd62 Sink: unlock widget before setting queue
Let GTK handle setting queue resize/render on the widget. We are not accessing widget values at this time, so it can be unlocked. It will be locked back during the render.
2021-03-06 19:16:28 +01:00
Rafał Dzięgiel
9c12afbf80 Sink: rename into GstClapperGLSink
The customized GTK4 sink version has few differences from the one shipped as part of GStreamer. Rename custom sink to GstClapperGLSink to avoid confusion.
2021-03-06 00:24:31 +01:00
Rafał Dzięgiel
e3c9b112e2 Sink: remove gtkconfig header
Remove another leftover meant for GTK3 compatibility
2021-03-05 23:27:08 +01:00
Rafał Dzięgiel
13d675beff Sink: merge gtkwidget into single class
Same as with video sink. Clapper uses only one so no need for subclassing.
2021-03-05 23:23:34 +01:00
Rafał Dzięgiel
95c3845398 Sink: merge gstsink into single class
Clapper only uses single video sink. No need for subclassing it.
2021-03-05 21:06:03 +01:00
Rafał Dzięgiel
93549a67af Sink: remove ignore_alpha property
GTK4 no longer supports ignoring alpha
2021-03-05 19:26:29 +01:00
Rafał Dzięgiel
07fb0a9a46 Sink: remove GTK4 if-defs
Clapper works with GTK4, so reduce codebase by removing GTK3 leftovers
2021-03-05 19:02:14 +01:00
Rafał Dzięgiel
fe3fd32932 Sink: keep track of widget allocation size
Instead of obtaining allocation size on each frame draw, keep track of its current size and update value on its change.
2021-03-05 18:41:26 +01:00
Rafał Dzięgiel
637212f7e8 Sink: move GL drawing logic into single function
No need having it in another function with additional call if it is used only from single place.
2021-03-05 18:10:35 +01:00
Rafał Dzięgiel
8b2e63ac48 Update README.md 2021-02-28 14:56:19 +01:00
Rafał Dzięgiel
f4968e28ab 0.1.0 2021-02-26 10:19:03 +01:00
Rafał Dzięgiel
68e10f1af4 Revert "Flatpak: update GStreamer to 1.18.3"
This reverts commit b3b0371c76.

It seems that newer GStreamer version has more new bugs then noticeable fixes.
2021-02-25 21:02:34 +01:00
Rafał Dzięgiel
2f3fac7d81 Flatpak: add broadway variable type fix patch 2021-02-25 09:51:24 +01:00
Rafał Dzięgiel
6b4521c49a Make video chapter popover easier to read when fullscreen 2021-02-25 09:27:07 +01:00
Rafał Dzięgiel
a0cd05fbe3 Workaround GTK4 revealers transition switch bug
Changing transition in middle or when not fully revealed has dire consequences, seems to be a GTK4 bug. Workaround this bug by switching top revealer transition type only when fully revealed.
2021-02-25 09:24:02 +01:00
Rafał Dzięgiel
d2d43db2c9 Do not update time if top grid is invisible 2021-02-24 18:27:40 +01:00
Rafał Dzięgiel
b7b1dad81c Allow adjusting playback speed with scroll 2021-02-24 17:29:24 +01:00
Rafał Dzięgiel
e859f5d518 Fix opening files from web application
It was trying to send GioFiles over WebSocket. The idea of doing that seems so dumb, that I do not know why I did not notice this issue earlier.
2021-02-24 17:05:49 +01:00
Rafał Dzięgiel
53ad4da7c6 Remove useless run method override 2021-02-24 16:46:25 +01:00
Rafał Dzięgiel
db8d060841 Mark as optimized for Phosh
Player window is considered mobile friendly with its transitions and touch/swipes gestures implemented. The only missing part now is preferences window that needs moving to libadwaita. Due to video playback being mobile friendly, mark this app as Purism Mobile compatible which will allow the app to appear on mobile app store and show the app icon in app launcher.
2021-02-24 15:58:37 +01:00
Rafał Dzięgiel
e2bd8a827c Mention in metainfo description that Wayland+vah264dec works best 2021-02-24 15:48:30 +01:00
Rafał Dzięgiel
0fe1cf5f0d Make volume restore more reliable
Instead setting value to volume scale, set value to the player itself. Scale will be updated due to bidirectional binded property. This fixes cases where slider did not emit value-changed notify as it was being set to the same value as initial one.
2021-02-24 14:26:34 +01:00
Rafał Dzięgiel
0a8e25d27b Prevent adding "fine-tune" class to position scale on TV mode
When scale enters "fine-tune", slider changes position a little. We do not want that to cause seek time change on TV mode.
2021-02-24 13:41:05 +01:00
Rafał Dzięgiel
af6a5ea1b9 Check widget existence when top revealer finishes reveal
Prevent errors when app was closed during top revealer animation.
2021-02-24 12:40:28 +01:00
Rafał Dzięgiel
632fcd34cc Fix overlay buttons not unrevealed when leaving window from bottom side
Bottom revealer motion controller was causing timeout to be cleared. Prevent that by making it child invisible when windowed, which will remove its allocated height and motion events will not be emitted.
2021-02-24 12:34:57 +01:00
Rafał Dzięgiel
186c63bf04 Set unreveal timeout after reveal finishes
Instead of setting hide controls timeout immediately when starting revealing, make the time controls are revealed constant by setting timeout after animation finishes.
2021-02-24 12:04:26 +01:00
Rafał Dzięgiel
68bd65c225 API: snap at nearest keyframe when doing fast seek
GStreamer needs to perform a seek when changing playback rate. Snapping at next keyframe causes viewer to lose few seconds of video when changing playback speed (and ugly fast forward effect when dragging speed slider). Prevent all those issues by seeking to the nearest keyframe instead.
2021-02-24 11:41:40 +01:00
Rafał Dzięgiel
199a8f1931 Bind volume scale with player volume prop
Now that player API itself is operating on a cubic scale (no value conversion required), the volume slider can be bind to the volume property. Thanks to that, player volume scale will correctly reflect Clapper volume set via external applications e.g. gnome-settings.
2021-02-24 11:09:42 +01:00
Rafał Dzięgiel
775ec8a780 API: fix volume functions descriptions 2021-02-24 10:44:26 +01:00
Rafał Dzięgiel
66d201dc3e Flatpak: update GTK to 4.1.1
GTK4 now has new GL renderer. If you wish to test it with Clapper, use GSK_RENDERER=ngl
2021-02-24 10:38:03 +01:00
Rafał Dzięgiel
dbd3e536b2 Limit bottom fullscreen controls panel width
Fullscreen bottom controls panel does not look good when progress bar is too long (especially on "ultrawide" displays), so limit its max width to 1720 application-pixels. This should make it still long enough for convenient chapter seeking.
2021-02-24 10:11:12 +01:00
Rafał Dzięgiel
bfdc85e3e3 Merge pull request #44 from Rafostar/gstclapper-volume
API: use cubic volume
2021-02-24 08:45:38 +01:00
Rafał Dzięgiel
86d365872a API: operate on cubic volume scale
Instead converting volume inside GJS, simplify things by making API operate on cubic volume scale.
2021-02-24 08:42:27 +01:00
Rafostar
b3b0371c76 Flatpak: update GStreamer to 1.18.3 2021-02-23 17:37:39 +01:00
Rafostar
7d79aa97bb Use rounded corners with every theme
AFAIK there is no way to detect theme rounded corners. Having 2/4 corners rounded in floating mode is not good.
2021-02-23 16:18:26 +01:00
Rafał Dzięgiel
6130ffa6c0 API: limit max linear volume to 3.375 (150% in cubic)
Clapper UI does not support volume overamp higher than 150%. Anything higher can lead to audio distortion or damaging your audio equipment.
2021-02-23 13:27:42 +01:00
Rafał Dzięgiel
ddc4030a30 Decrease min allowed video window size
Make sure the app can fit every mobile device by decreasing min window size to 320x180 application-pixels (16:9 aspect).
2021-02-23 12:52:45 +01:00
Rafał Dzięgiel
886dad97c5 WebApp: get active window prop only once 2021-02-23 12:37:33 +01:00
Rafał Dzięgiel
a309ef6099 Make remote app minimize, maximize and close buttons affect Clapper 2021-02-23 11:56:02 +01:00
Rafał Dzięgiel
6950cf1bbb Do not import GstClapper for remote app
No need to import and initialize whole GStreamer for web application if the only thing needed there is a single enum.
2021-02-22 16:34:08 +01:00
Rafał Dzięgiel
8df5c38357 Fix missing headerbar menu in Flatpak build 2021-02-22 13:14:49 +01:00
Rafał Dzięgiel
0ce851b514 Debug headerbar layout info 2021-02-22 12:41:44 +01:00
Rafał Dzięgiel
848fcf892b Merge pull request #43 from Rafostar/gnome4000
GNOME 40 design changes
2021-02-22 11:39:41 +01:00
Rafał Dzięgiel
8407a325af Increase delay of hiding controls when fullscreen 2021-02-22 11:29:26 +01:00
Rafał Dzięgiel
5e66a2bb5a Wait for top revealer transition to finish before changing it
Changing transition in middle can have dire consequences, so change only when not in transition.
2021-02-22 11:27:20 +01:00
Rafał Dzięgiel
61ae543cf9 Separate top revealer title and time 2021-02-22 10:22:05 +01:00
Rafostar
8b254de151 Modern fullscreen UI 2021-02-22 10:22:05 +01:00
Rafostar
edde84f0fc Performance: reduce amount of top shadow offscreen rendering 2021-02-22 10:22:05 +01:00
Rafostar
46103e169f Update current time on top overlay reveal
Previously current hour might not have been updated if someone entered fullscreen without moving mouse cursor or with a touch
2021-02-20 11:12:50 +01:00
Rafał Dzięgiel
86356d5b1b Make linked buttons icons closer to each other 2021-02-19 20:56:58 +01:00
Rafał Dzięgiel
67ad7d8bd4 Add separator to linked buttons 2021-02-19 20:26:59 +01:00
Rafał Dzięgiel
8d9fecd767 Remove obsolete media files
Media files are now part of the wiki to make app cloning faster
2021-02-19 17:45:45 +01:00
Rafał Dzięgiel
fbfddcbb33 Update description with new screenshots 2021-02-19 17:45:36 +01:00
Rafał Dzięgiel
0aa5402e77 Flatpak: update GTK to 4.1.0
While not ideal, only GTK 4.1+ has rounded menu buttons and renders properly with EGL on mobile devices.
2021-02-19 16:12:38 +01:00
Rafał Dzięgiel
59908f808f Show menu and close buttons on mobile fullscreen view 2021-02-19 13:13:25 +01:00
Rafał Dzięgiel
35d1179905 Make OSD position scale height a little bigger on mobile 2021-02-19 13:00:13 +01:00
Rafał Dzięgiel
ef06be464c Use basic GtkBox widget for headerbar replacement
Window headerbar is hidden at all times. We do not want to execute the logic that comes with GtkHeaderBar, so we simplify it by using GtkBox as a dummy widget.
2021-02-19 12:11:19 +01:00
Rafał Dzięgiel
12b38702ab Prevent hiding OSD when menu popover is open 2021-02-19 11:49:25 +01:00
Rafał Dzięgiel
dbfd97d11a Do not block closing OSD when popover opened in windowed mode 2021-02-19 10:52:11 +01:00
Rafał Dzięgiel
6400d251c2 Add a special style class for menu popover button
We want to have a non-osd popover in the button that is placed on OSD headerbar. This is something unusual that Adwaita does not have, so create a custom style that will use common values from user system theme.
2021-02-19 10:12:47 +01:00
Rafał Dzięgiel
e7b446ca9f Extend Gtk.ToggleButton for Popover buttons
Instead of trying to force active state for a normal button that is not designed to be toggle-able, use GTK toggle buttons.
2021-02-19 10:10:09 +01:00
Rafał Dzięgiel
7680b85ea9 Reveal controls only with touch or pen 2021-02-18 19:02:34 +01:00
Rafał Dzięgiel
834a690903 Tweak overlay revealers show/hide logic 2021-02-18 17:13:38 +01:00
Rafał Dzięgiel
12591e106f Move event controllers to widget and add them to top revealer 2021-02-17 16:31:37 +01:00
Rafał Dzięgiel
192ccb379f Limit minimal video widget size to 336x189px 2021-02-17 12:56:02 +01:00
Rafał Dzięgiel
e53f35c1c9 Bind revealers visibility instead of using a timeout 2021-02-17 12:28:49 +01:00
Rafał Dzięgiel
b012ac4c8f Fix typos 2021-02-17 12:28:49 +01:00
Rafał Dzięgiel
e79ce58b26 Rename "fullscreenMode" boolean to "isFullscreenMode" 2021-02-17 12:28:45 +01:00
Rafał Dzięgiel
887f189b60 Save window size only when windowed and not in floating mode 2021-02-17 12:20:44 +01:00
Rafał Dzięgiel
c908305be0 Update window title with video title
Clapper no longer has a title bar to show the media title during playback. Update window title so the video title is also shown on "Activities" view in addition to fullscreen top overlay.
2021-02-16 15:35:10 +01:00
Rafał Dzięgiel
435264cbec Start DBus proxy asynchronously 2021-02-16 15:35:10 +01:00
Rafał Dzięgiel
2347ff52bf Add option to show floating video on all workspaces
Option to stick the floating mode window to all workspaces. Disabled by default. Can be enabled in player preferences.
2021-02-16 15:33:57 +01:00
Rafał Dzięgiel
530f60bce9 Replace GTK headerbar with custom implementation
This avoids D&D controllers clash and allows to freely customize how maximize, minimize and close buttons work (differently for e.g. web application) and where are they placed
2021-02-16 15:23:58 +01:00
Rafał Dzięgiel
6448012edd Auto set floating mode window to be always above 2021-02-14 21:35:16 +01:00
Rafał Dzięgiel
baa5053446 Reset hide controls timer when clicking corresponding button 2021-02-14 14:16:59 +01:00
Rafał Dzięgiel
91703cf7cf Hide both cursor and overlays with a single timer
Simplify hide controls logic code by using single timer to hide both cursor and video overlays at once
2021-02-14 14:07:38 +01:00
Rafał Dzięgiel
8064bab6a2 Remove old floating mode leftovers
Clapper has now much simpler floating mode. This overcomplicated code is not needed anymore.
2021-02-13 20:19:08 +01:00
Rafał Dzięgiel
892e8b55f3 Change floating mode icon
Floating mode now works entirely different then before (only controls gets hidden/revealed with animation). Change the used icon to better match this new behaviour.
2021-02-13 18:57:30 +01:00
Rafał Dzięgiel
662517163b Reduce amount of logic in controls unreveal tick 2021-02-13 18:20:17 +01:00
Rafał Dzięgiel
1d16d3e2ac Add OSD headerbar and transition to floating mode 2021-02-13 17:19:03 +01:00
Rafał Dzięgiel
bb8ae47a66 Enforce rounded corners only on Adwaita theme
Adwaita does not have rounded corners yet, but will have soon. Enforce rounded corners in the app only for Adwaita to avoid bumping min required GTK version.
2021-02-12 12:19:43 +01:00
Rafał Dzięgiel
46e8bef7b8 Use separate CSS class for TV mode 2021-02-12 11:49:34 +01:00
Rafał Dzięgiel
a597de5481 Swipe when fullscreen to seek or adjust volume 2021-02-10 23:11:46 +01:00
Rafał Dzięgiel
68faeca918 API: Disallow pause on very short streams (< 1 sec)
Fixes crash when trying to pause on DVD navigation
2021-02-10 17:03:11 +01:00
Rafał Dzięgiel
821c7f6537 Make hitting "Enter" resume playback position when asked 2021-02-10 12:31:29 +01:00
Rafał Dzięgiel
57a480389f Show GJS version in about dialog 2021-02-10 12:24:10 +01:00
Rafał Dzięgiel
3b7beac075 Major theme changes were done in GTK 4.0.2, not GTK 4.1 2021-02-09 20:49:07 +01:00
Rafał Dzięgiel
894384483b Merge pull request #41 from Rafostar/pinephone
Fix mobile devices transitions and detection
2021-02-09 18:52:28 +01:00
Rafał Dzięgiel
1ee0db1cbc Also do not save resume info for very long titles (random URIs) 2021-02-09 17:19:42 +01:00
Rafał Dzięgiel
1f0979d217 Update TODO.md 2021-02-09 13:52:52 +01:00
Rafał Dzięgiel
662a0ccd67 Flatpak: fix gst-plugins-good manifest 2021-02-09 13:21:11 +01:00
Rafał Dzięgiel
ddbf4d40e6 Merge pull request #40 from Rafostar/resume-playback
Resume playback
2021-02-09 12:49:32 +01:00
Rafał Dzięgiel
d5ab23d5c1 Reduce rounded corners radius 2021-02-09 12:45:22 +01:00
Rafał Dzięgiel
23ef3bb85f Optimize sliders for GTK 4.1 2021-02-09 12:40:11 +01:00
Rafał Dzięgiel
b472c23bf5 Fix volume scale border not turning red when overamp 2021-02-08 22:29:00 +01:00
Rafał Dzięgiel
d1f32955b8 Do not save resume info under certain conditions
Do not save when video is short, just started or almost finished
2021-02-08 22:16:49 +01:00
Rafał Dzięgiel
17f73bb222 Add resume last unfinished video setting to prefs 2021-02-08 21:53:22 +01:00
Rafał Dzięgiel
d952f37b0e Prevent saving unfinished video info when autoclosing 2021-02-08 21:30:52 +01:00
Rafał Dzięgiel
dfbb8b8d70 Ask to resume last unfinished video 2021-02-08 21:16:28 +01:00
Rafał Dzięgiel
15eeea2872 Save resume info of last unfinished video 2021-02-08 21:16:13 +01:00
Rafał Dzięgiel
84232f3c12 Prepare resume playback dialog 2021-02-08 19:22:27 +01:00
Rafał Dzięgiel
c2808e7d9a Update position slider right after seek is done 2021-02-08 18:50:29 +01:00
Rafał Dzięgiel
5dbcb53385 Lower the priority of showing chapter popover 2021-02-08 17:42:02 +01:00
Rafostar
65f1e8e60e Observe surface width instead of video widget 2021-02-07 21:47:25 +01:00
Rafostar
8a5702f296 Detect mobile monitor based on application-pixels 2021-02-07 21:20:14 +01:00
Rafostar
65b4df13a8 Install gstclapper libs to app named subdirectory 2021-02-07 12:35:41 +01:00
Rafał Dzięgiel
4debed92fe Do not restore window size if it exceeds screen size #38 2021-02-06 23:13:29 +01:00
Rafał Dzięgiel
6b6777ffba Remove info about Ubuntu package from README.md
We cannot build Ubuntu deb package currently due to missing gtk4-dev files in Ubuntu repos.
2021-02-06 16:25:28 +01:00
Rafostar
214e2f1d7f Update debian build files 2021-02-06 15:33:00 +01:00
Rafał Dzięgiel
607d414968 Update README.md 2021-02-05 22:11:28 +01:00
Rafał Dzięgiel
a6b2b9dd0a Flatpak: remove patches that are now part of the app 2021-02-05 20:01:09 +01:00
Rafał Dzięgiel
8ca73fd56b Update README.md
We now do normal packages. Remove all info saying that only Flatpak works or some additional compiling is required.
2021-02-05 19:27:27 +01:00
Rafał Dzięgiel
0167f0ab4e Draw black background from CSS when GL fails
When GLArea gets a GL error it leaves user with nothing, but transparent background with error text in the middle. Make it look somewhat decent by drawing black background for the not working video widget.
2021-02-05 19:15:15 +01:00
Rafał Dzięgiel
4aef4b2723 Build from git with "debugoptimized" 2021-02-05 14:38:57 +01:00
Rafał Dzięgiel
25d8cb1440 Update RPM spec file 2021-02-05 14:15:55 +01:00
Rafał Dzięgiel
c32bb269d7 GStreamer meson build script cleanup 2021-02-05 09:58:54 +01:00
Rafał Dzięgiel
1a3a1d0791 Upload .gitattributes
Exclude libs from being scanned by language stats. Otherwise project is incorrectly detected as an app written in C.
2021-02-04 22:19:20 +01:00
Rafał Dzięgiel
9b63d2e6a4 Make Arch PKGBUILD point to git master branch 2021-02-04 16:35:53 +01:00
Rafał Dzięgiel
26b5b0f1cb Update README.md 2021-02-04 16:29:18 +01:00
Rafał Dzięgiel
233c8430bc Remove OBS Arch PKG
Unify Arch PKGs into a single one distributed only on AUR
2021-02-04 16:23:45 +01:00
Rafał Dzięgiel
3bcf01efb6 Merge pull request #37 from Rafostar/gstplayer
Add custom gstreamer libs as part of the app
2021-02-04 16:09:10 +01:00
Rafał Dzięgiel
94fd477324 Merge pull request #36 from sp1ritCS/gstplayer
pkgs: arch: gstplayer update, minor refactor
2021-02-04 15:51:29 +01:00
Rafał Dzięgiel
3cd98befb1 Unify menus and put all headerbar buttons on the left 2021-02-04 15:47:14 +01:00
SpiritCS
04ce5c5018 pkgs: arch: gstplayer update, minor refactor 2021-02-03 17:59:34 +01:00
Rafał Dzięgiel
bf04af23fe Do a lock on a gtk_sink
Same object is unlocked here. Keep consistency.
2021-02-02 13:55:55 +01:00
Rafał Dzięgiel
a7d99c4f81 Use "window-close" icon for playlist current playing item button
The button next to the currently playing playlist item acts as a close window button in order to allow closing app without leaving fullscreen. It should use the theme "window-close" icon to better show what it does.
2021-01-30 22:52:31 +01:00
Rafał Dzięgiel
310ef3af95 Fix not playing URIs
In case of local files the "filename" variable holds the string that is later assigned to the filename property (no difference which is used), but when playing URIs only filename property holds the string. Passing an undefined value to the label caused an error in this case and prevented playback of URIs.
2021-01-30 22:41:27 +01:00
Rafał Dzięgiel
08cde45bad Gtk4Plugin: add drawing black fixes from Flatpak patch 2021-01-29 18:18:41 +01:00
Rafał Dzięgiel
b487d1f2c1 Gtk4Plugin: remove subtitles scaling
Causes jitter (even crashes on i965) when resizing video and honestly I think that subtitles rendered at video size look better.
2021-01-29 17:52:27 +01:00
Rafał Dzięgiel
2ce44d4e63 Combine GStreamer GTK4 plugin with API
Ship custom gtk4glsink plugin as part of API insead of normal gstreamer plugin. This avoids gstreamer plugin registry conflicts with gtk3 plugin and allows more customization.
2021-01-29 17:27:39 +01:00
Rafał Dzięgiel
4ad2b707dd Remove player config options that were changed/fixed in API 2021-01-28 19:09:53 +01:00
Rafał Dzięgiel
fcf9426892 API: remove unused seek-done signal 2021-01-28 18:26:37 +01:00
Rafał Dzięgiel
dea77cc39f API: notify about speed value reset on STOP 2021-01-28 17:39:52 +01:00
Rafał Dzięgiel
f7a24b20c6 API: remove media info updated signal
A signal telling that "something somewhere changed" that is emitted multiple times per second (when bitrate changes). Not useful at all and a disaster performance-wise.
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
f2971371e1 API: remove clapper config structure
Not useful anymore since the player does 1s interval by default and now supports changing seek mode without stopping playback (unlike config which worked only when stopped).
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
15302a4b62 API: use 1s update position interval by default 2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
e731842b08 API: remove "volume-changed" signal in favor of "notify::volume"
We do not need both and notify is better here cause it allows binding volume scale value to the volume prop
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
90697d81a7 API: fix debug category init with bindings 2021-01-28 16:26:09 +01:00
Rafał Dzięgiel
bbcba3ccc6 API: disable notify on props where it is unused
Notify signal is a little problematic here as we already post a signal from player while jumping between APP and API contexts. Limit and disable it where not needed.
2021-01-28 09:10:43 +01:00
Rafał Dzięgiel
5785204c28 API: prevent "notify::caps" from being reconnected on each start 2021-01-28 08:32:49 +01:00
Rafał Dzięgiel
3abfd2a5df API: add TOC support (video chapters) 2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
5cc312130d API: set seek mode without stopping playback 2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
bee1889376 Port app to the new GstClapper API 2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
08f86cf0cc Include "GstPlayer" lib renamed to "GstClapper" as part of the app 2021-01-28 00:22:48 +01:00
Rafał Dzięgiel
acfdb7bac4 Use different icon for removing playlist items
Make it easier to see if the button will either remove the playlist item or close the app (in case of currently playing item).
2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
7eb59317f9 Close app when removing active item from playlist
Make playlist remove button act the same as close button for currently playing file. This allows using it to close the app without leaving fullscreen.
2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
f993a9e16c Make elapsed popover separator creation more universal 2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
a82a36c6b5 Mark active playlist item with "play" icon 2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
70fcc38857 Start labels from capital letter in speed control
Better match whole UI where capital letters are used.
2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
30cc8732de Style only speed separator 2021-01-23 09:02:06 +01:00
Rafał Dzięgiel
d677f88556 Update TODO.md 2021-01-23 09:01:52 +01:00
Rafał Dzięgiel
d4ebb1456f Alter playlist width with box container width 2021-01-22 13:15:27 +01:00
Rafał Dzięgiel
2b77810274 Add a custom separator above speed scale
Let users know what this scale does by having a separator with a "speed" label
2021-01-22 13:13:57 +01:00
Rafał Dzięgiel
8d33766725 Stretch fullscreen speed scale
Make it easier to set it precisely in fullscreen where everything is bigger.
2021-01-22 12:06:56 +01:00
Rafał Dzięgiel
f9c8a3ce33 Do not try to dispose non-existing window 2021-01-22 11:46:50 +01:00
Rafał Dzięgiel
20f03423f3 Make speed scale look consistent with volume scale on fullscreen 2021-01-22 11:45:43 +01:00
Rafał Dzięgiel
d8c6c61f1b Disable shadows for playlist icons in fullscreen 2021-01-22 11:20:34 +01:00
Rafał Dzięgiel
ae89199101 Avoid playlist items stealing keyboard focus 2021-01-22 11:07:00 +01:00
Rafał Dzięgiel
2e1f6203b3 Rename "appdata" to "metainfo"
The appdata name is now deprecated, according to: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2021-01-21 20:00:17 +01:00
Rafał Dzięgiel
340cb36ecd Move "clapper_src" dir to "src"
The "clapper_src" directory name was unusual. This was done to make it work as a widget for other apps. Now that this functionality got removed it can be named simply "src" as recommended by guidelines.
2021-01-21 14:19:04 +01:00
Rafał Dzięgiel
79abc661bc Update README.md 2021-01-21 12:16:50 +01:00
Rafał Dzięgiel
e9c72d3f2e Remove workarounds for GTK 3.99.X versions
Clapper build scripts were updated to GTK 4.0.0 some time ago. Most distros either received GTK 4.0 from start or an update to it. No point in having a special workarounds to support 3.99.X versions.
2021-01-20 19:30:07 +01:00
Rafał Dzięgiel
f5fef2df5b Restore redraw button icon after fullscreen change
This was previously removed, but it looks like it is still needed for GTK4 to draw button icon at correct size after toggling fullscreen.
2021-01-20 18:33:14 +01:00
Rafostar
d36a972864 Simplify playlist drop callback
Use value passed to the callback instead of target property
2021-01-20 11:16:51 +01:00
Rafostar
994491d687 Add playback speed control
Adjustable playback speed control in the form of a slider with a range from 0.01x to 2x.

Closes #33
2021-01-19 16:42:02 +01:00
Rafostar
3ba21d42ec Add playlist widget to elapsed time button popover 2021-01-19 16:41:49 +01:00
Rafostar
fca7966ece Remove app usage as a pre-made widget
This seemed like a good idea when the app still used GTK3, but GTK4 already has a built-in video widget. Maintaning this single functionality would be hard and I cannot promise a stable API anyway. The app main and only purpose will be a video player from now on.
2021-01-18 20:35:32 +01:00
Rafostar
4c0a0da18f Fix chapter popover position not moving for nearby chapters 2021-01-13 19:50:05 +01:00
Rafostar
c0e0592842 Note that video chapters feature is done 2021-01-13 19:19:39 +01:00
Rafostar
d831113925 Fix app close when pressing "Q" during position drag 2021-01-13 19:10:12 +01:00
Rafostar
5d0876bbf7 Do not do fast seeks when seeking to chapter
Fast seeks are always a little off from requested time. When seeking to chapter position, do it by using a normal seek and restore user selected fast seeks afterwards.
2021-01-13 18:49:10 +01:00
Rafostar
df4678d930 Show chapter in popover when dragging position scale 2021-01-13 17:55:22 +01:00
Rafostar
fe7a899aab Add event controllers to top revealer 2021-01-12 23:15:21 +01:00
Rafostar
83bec8e834 Mark video chapters on progress bar 2021-01-12 18:26:28 +01:00
Rafostar
b71aa0a84a Flatpak: add TOC support to GstPlayer 2021-01-12 13:32:10 +01:00
Rafostar
ac065e0b6b Flatpak: increase max matroska block size limit
This limit should be probably removed completely, but I am increasing it for the time being to avoid problems with detecting attached subtitles in matroska files.
2021-01-10 23:10:06 +01:00
Rafostar
64a31718c0 Do not set progress bar top margin in floating mode 2021-01-10 22:09:13 +01:00
Rafostar
f5e6395409 Flatpak: fix parsing of matroska attachments mimetypes 2021-01-10 21:12:45 +01:00
Rafostar
688f092406 Flatpak: fix matroska attachments detection 2021-01-10 15:56:23 +01:00
Rafał Dzięgiel
025a199f6a Update README.md 2021-01-08 23:05:33 +01:00
Rafostar
6829e8fd59 Update TODO list 2021-01-08 22:34:39 +01:00
Rafostar
cff65a989d Revert "Remove unnecessary position scale margin"
This reverts commit 1c82b2288a.

The margin turns out to be necessary for uneven scaling on
some displays resolutions.
2021-01-08 21:45:37 +01:00
Rafostar
f0dbeca5b6 Also move app window to top on file drop 2021-01-08 21:36:40 +01:00
Rafostar
59555c103b Open file(s) by Drag & Drop 2021-01-08 18:07:24 +01:00
Rafostar
2cbabe2887 Do not try to uninhibit when app is closing 2021-01-05 23:42:23 +01:00
Rafostar
234a44a34a Use ARGV from main() instead of importing system utils 2021-01-05 22:49:54 +01:00
Rafostar
a0ad8bf70f Do not return inside player init 2021-01-05 22:48:34 +01:00
Rafostar
8ef1bd662c Fix wrong sink var name
When sink holding variable was renamed to gtk4glsink, I missed this one line.
2021-01-05 22:18:48 +01:00
Rafostar
a9d4555661 Remove fullscreen-changed signal
GTK since 4.0 has fullscreened property that can be used as both a binding and signal with notify. No need to keep the fullscreen-changed signal as part of the app.
2021-01-05 20:47:57 +01:00
Rafostar
3452990c28 Use "const" where possible
Increase readability by using "const" for identifiers that will not be reassigned
2021-01-05 20:13:53 +01:00
Rafostar
f6601766f1 Fix crash on undetected codec
Player StreamInfo might return a null if codec is undetermined
2021-01-04 22:31:25 +01:00
Rafostar
d6ef29c17e Do not hold gtkglsink as a prop
It was remembered only to later access its ignore_textures property, but it is also available on the widget itself, so use that instead
2021-01-04 22:18:20 +01:00
Rafostar
16f26d3207 Move window to top when new file is opened 2020-12-27 23:03:50 +01:00
Rafostar
92cf34c682 Flatpak: Remove GLib build
GNOME runtime now includes a recent stable GLib, so no need to build it ourselves anymore.
2020-12-27 23:03:50 +01:00
Rafostar
732e3675e8 Use custom scripts for logging debug messages
Default "GLib.log_structured" method is painfully slow and time provided by it is not very accurate. It also slows down program execution even when G_MESSAGES_DEBUG env is not set. Use custom debug scripts for faster and more accurate messages logging instead.
2020-12-27 23:03:50 +01:00
Rafostar
b85edbbe8f Remove gstVersionCheck
Leftover from GTK3 version of the app. Since "gtk4glsink" is not available in any GStreamer release yet, no point in checking the version.
2020-12-27 23:03:50 +01:00
Rafostar
117a372189 Pass GioFiles from FileChooser instead of URIs
Otherwise they are converted back to GioFile to check their existance and back again to URI which is unefficient. This change avoids doing that.
2020-12-24 15:08:01 +01:00
Rafostar
a096c43b97 Flatpak: allow access to user "Videos" directory
This is needed to fix loading playlist from file. With that playlists will be limited to videos inside "Videos" directory in Flatpak version (with default permissions) which is still better than no playlists functionality. This is a common thing to do for a Flatpak video player.
2020-12-24 12:41:00 +01:00
Rafostar
094de19018 Remove "new-window" functionality
I were never able to get setifactionary results with this because:
* In GTK apps new window is created from the same process
* OpenGL is single-threaded so performance per window is halfed
* GTK4 has problems with rendeing using multiple contexts resulting in some frames being upside down

So for the time being I am removing a non-working option. There is a chance
that it will be fixed and added in future, but for now lets not
advertise a functionality that does not work.
2020-12-24 12:18:17 +01:00
Rafostar
6afbbc767a Open new file in the same window. Closes #31 2020-12-24 00:23:49 +01:00
Rafostar
f2d8d8ad4f Uninhibit screen when video is not playing
This functionality was broken before GTK 4.0.0, so it needs a minimal required GTK version bump
2020-12-22 23:21:49 +01:00
Rafostar
10e04a8eba Flatpak: fix distorted gstreamer-vaapi colors with GLX on AMD #10 2020-12-22 15:17:47 +01:00
Rafostar
42774f84e4 Update media info on idle after playback starts. Fixes #32 2020-12-21 19:37:58 +01:00
Rafostar
c125df777f Use GTK4 version of update-icon-cache
Even if GTK3 is preinstalled on GNOME, app should use GTK4 version of "update-icon-cache" binary which is a proper thing to do.
2020-12-20 19:25:50 +01:00
Rafostar
b97967e374 RPM: Include additional app binaries 2020-12-20 18:30:51 +01:00
Rafostar
55ae63dad1 Flatpak: update GTK to 4.0
GTK 4.0 was released and now its latest git includes "fullscreen" and "flat" buttons changes I requested. Lets update our app to it :-)
2020-12-17 20:08:39 +01:00
Rafostar
49b3296527 Use simply "Clapper" name for the remote app
The remote app name should match the name of the main app, otherwise different name is displayed in the headerbar and its prefs window
2020-12-17 20:03:01 +01:00
Rafostar
1c93506e79 Add toggle play button to remote app
A single toggle play button for now. Meant for testing the remote communication/delays over local network.
2020-12-17 14:59:31 +01:00
Rafostar
0a1657bbcb Mention thanks to supporters in Readme 2020-12-17 14:55:59 +01:00
Rafostar
c1aae76d6e Customize web app port 2020-12-16 21:15:41 +01:00
Rafostar
84762de76a Add Clapper deamon subprocess
Daemon is responsible for starting and later watching over spawned "broadwayd" and "remote" app needed for remote playback control. We cannot use systemd n Flatpak, so we make do with running optional background subprocesses.
2020-12-16 19:54:30 +01:00
Rafostar
254d1aa9db Make remote app binary name consistent with app ID 2020-12-16 15:33:39 +01:00
Rafostar
57ceb17100 Use proper ID for remote app 2020-12-16 14:42:40 +01:00
Rafostar
04f1d2397f Merge pull request #29 from Rafostar/remote-controller
Control player remotely
2020-12-16 10:55:32 +01:00
Rafostar
b6c947efa6 Fix custom CSS loading for remote app 2020-12-15 23:26:24 +01:00
Rafostar
234451f62a Move defined play flags to prefs
They are used only in prefs and it allows starting prefs in web app.
2020-12-15 22:49:06 +01:00
Rafostar
a056fac1c1 Add logic responsible for starting web app 2020-12-15 22:35:14 +01:00
Rafostar
a1e95dc012 Close remote app on error or disconnect 2020-12-15 19:03:58 +01:00
Rafostar
dde35270ff Consistent source filenames 2020-12-15 18:27:18 +01:00
Rafostar
5231a1f225 Add initial WebSocket client app 2020-12-15 18:20:48 +01:00
Rafostar
8564cc9617 Move WebSocket message parsing to another file
Allows reusing the same code for the client app
2020-12-15 18:19:24 +01:00
Rafostar
4c6e5607fb Check if player has widget before trying to focus it 2020-12-15 18:16:59 +01:00
Rafostar
7431f58034 Prefer "set_playlist" over "set_media" method 2020-12-15 18:15:40 +01:00
Rafostar
6d4cd494fe Customize web server listening port 2020-12-15 14:16:31 +01:00
Rafostar
ca6322339f Do not forget port after web server is stopped 2020-12-15 14:05:48 +01:00
Rafostar
b4e52d654b Pass WebSocket data without additional signal connection 2020-12-15 12:36:06 +01:00
Rafostar
2b62900227 Merge pull request #28 from Rafostar/broadway
Host web application with Broadway backend
2020-12-15 12:01:38 +01:00
Rafostar
b756c15e46 Fix non-updated closing state 2020-12-15 11:59:05 +01:00
Rafostar
062a307613 Add stop method for web app 2020-12-15 11:51:25 +01:00
Rafostar
1c82b2288a Remove unnecessary position scale margin 2020-12-14 23:14:16 +01:00
Rafostar
24a105fbe4 Do not drop old GTK4 support
Recent GTK4 git is way too buggy. We cannot update the GTK version above 3.99.4 yet. So add compatibility with newer versions without dropping support for older ones.
2020-12-14 21:30:00 +01:00
Rafostar
f65bc84c89 Merge pull request #27 from Rafostar/gui-improvements
Fullscreen GUI improvements
2020-12-14 16:40:37 +01:00
Rafostar
39e4e54ad8 Apply icon size to icon and not whole button 2020-12-14 15:46:40 +01:00
Rafostar
bfc318ae70 Reduce controls start/end margin 2020-12-14 15:46:07 +01:00
Rafostar
3936e58ed6 Reduce fullscreen button top margin a little 2020-12-14 15:43:48 +01:00
Rafostar
67389ee295 Fix for negative sizes and separate popovers override 2020-12-14 12:10:02 +01:00
Rafostar
ef12074559 Tweak fullscreen GUI theme
Notable changes:
* Smaller media title font (fits more characters on screen)
* Constant top timer numbers size (time no longer moves left/right when hour changes)
* Reduced top shadow overlay height
* Smaller buttons on bottom controls panel (their icon size remains the same)
* Reduced bottom panel and progress bar height
* Few additional margins and font sizes tweaks
2020-12-14 11:30:19 +01:00
Rafostar
ea67e1e620 Flatpak: compile GTK4 with broadway backend 2020-12-14 11:19:12 +01:00
Rafostar
018a750fbc Add web app for broadway backend 2020-12-12 21:56:35 +01:00
Rafostar
660b5c6c48 Use underscore in WebSocket API 2020-12-12 20:10:06 +01:00
Rafostar
ea7b712b2e Send player state via WebSockets 2020-12-12 19:37:07 +01:00
Rafostar
7a039af798 Allow changing web server port during playback 2020-12-12 00:16:39 +01:00
Rafostar
104db83a1c Clean websocket signal properly 2020-12-12 00:13:02 +01:00
Rafostar
d5d5aa9bac Integrate basic web server functionality into player 2020-12-11 23:38:49 +01:00
Rafostar
26f8b6994e Add WebSocket server 2020-12-11 22:06:00 +01:00
Rafostar
4875a31be4 Add initial ClapperRemote app 2020-12-11 15:38:25 +01:00
Rafostar
6315669933 Split app source file into two
This allows creating different app from the same source code.
2020-12-11 15:32:05 +01:00
Rafostar
083445a830 Split header bar source file into two
This allows creating another headerbar with different functionality from the same source code.
2020-12-11 15:22:35 +01:00
Rafostar
62573d3a88 Move main.js to source files dir 2020-12-11 14:55:50 +01:00
Rafostar
0d54a751bd Add request for native audio formats option 2020-12-10 17:15:22 +01:00
Rafostar
73b803abdb Compatibility with latest GTK4 git 2020-12-10 11:51:55 +01:00
Rafostar
8dfede27ac Add progressive video download option
Buffer download whole network video during playback to allow fast seeking for online media. Can be disabled in prefs (enabled by default).
2020-12-08 20:31:45 +01:00
Rafostar
6ea210ff12 Minor prefs theme improvements 2020-12-08 17:08:55 +01:00
Rafostar
fea1968907 Add "Adaptive UI" demo to features in Readme 2020-12-07 20:58:19 +01:00
Rafostar
b134fd25c8 Move theme settings to "Tweaks" prefs tab
Altering default theme is more of a tweak then a general setting
2020-12-07 20:27:21 +01:00
Rafostar
6949a6e9ef Disable controls focus when not in fullscreen
This should keep focus on video and make seeking from keyboard always work.
2020-12-07 17:29:34 +01:00
Rafostar
c80f34f4ab Fix compatibility with dark themes. Fixes #23 2020-12-07 15:25:10 +01:00
Rafostar
cf26486476 Flatpak: Add GTK4 popover unrealize patch
This is a temporary workaround I came up with for app performance drop on Wayland after any popover is opened. We are waiting for a proper fix from GTK4 devs. Until then, this is still much better that nothing.
2020-12-06 23:12:09 +01:00
Rafostar
64bf1dc172 Apply rotate animation to the icon, not whole button 2020-12-04 09:55:26 +01:00
Rafostar
a2ee14e74f Set revealer animation fill mode to "forwards" 2020-12-03 16:53:22 +01:00
Rafostar
150fdb7cbb Do not show tracks revealer when there are no tracks 2020-12-03 11:59:59 +01:00
Rafostar
c3d60a600e Wait for stop after playback instead of forcing it 2020-12-03 11:20:42 +01:00
Rafostar
7a66da1fed Add option to close player after playback 2020-12-03 11:04:37 +01:00
Rafostar
44e04d7e60 Upload mobile UI presentation video 2020-12-02 16:04:17 +01:00
Rafostar
333b9d8224 Mobile friendly interface transitions #14 2020-12-02 10:59:02 +01:00
Rafostar
4cb743b931 Performance: do not draw header bar bottom border
It is not even noticable and reduces performance by having more pixels to redraw every frame.
2020-12-02 10:56:19 +01:00
Rafostar
6cc07c4e98 Flatpak: update uchardet recipe 2020-12-01 10:02:36 +01:00
Rafostar
def5bc5d96 Change volume scale color when over-amplified 2020-12-01 09:43:36 +01:00
Rafostar
f4da4dec71 Do not keep initial elapsed time
It is not used anymore later, so no need to keep it.
2020-11-30 23:05:56 +01:00
Rafostar
f08d40c1ff Small cleanup 2020-11-30 23:05:33 +01:00
Rafostar
f7f9959c14 Temporarly take a ref on player 2020-11-30 22:18:02 +01:00
Rafostar
58afaa2c76 Apply custom initial volume on realize 2020-11-30 11:26:38 +01:00
Rafostar
5206dc543d Properly store and restore last volume value on startup
We cannot depend on the value saved by GStreamer, cause it is shared with all GStreamer based apps. Lets save the last value to gsettings instead to make sure this is the volume we used with this app. With this change we can also see the right volume on startup before media file is loaded (previously it was shown always as muted).
2020-11-30 11:16:21 +01:00
Rafostar
af6814bace Change open local label
Option can now also open multiple files, so we simply skip the "File" part to make it shorter.
2020-11-30 11:11:08 +01:00
Rafostar
e7ad0143a5 Use cubic scale for volume. Fixes #21
Volume sliders should usually adjust volume using cubic scale. This also changes max volume to 150% which should be louder than previous value anyway.
2020-11-30 09:26:27 +01:00
Rafostar
bc5aa45a8f Fix player volume comparison 2020-11-26 13:02:31 +01:00
Rafostar
d630717b24 Flatpak: autodetect subtitle text encoding
Manually specifying text encoding is just wrong.
Especially for people who have no idea what text encoding they use (or what it is).
Lets try to be a little more user friendly and autodetect the encoding of each file.

The detection will be done inside GStreamer when first text buffer is received,
so another (but this time optional) patch is added, but who cares :-)
2020-11-25 16:20:51 +01:00
Rafostar
6a34fc51bc Merge pull request #20 from sp1ritCS/master
downgraded arch pkgbuild to e7e9b9c07d
2020-11-25 11:00:09 +01:00
Rafostar
2ed3e1dce6 Add some missing info to Readme #19
Add some missing information about why Flatpak right now is recommended, that otherwise patching is required and why Wayland is recommended. Hopefully with this, I will not have to keep repeating those to everyone on each day :-)
2020-11-25 10:58:18 +01:00
sp1rit
1bd39f646f downgraded arch pkgbuild to e7e9b9c07d 2020-11-24 20:52:19 +01:00
Rafostar
9ad1a11452 Customize external subtitles font 2020-11-24 17:54:53 +01:00
Rafostar
3fcd612e6e Support loading external subtitles and multiple videos 2020-11-24 11:12:43 +01:00
Rafostar
ab39da1975 Readme: tell people that using GJS here is fine. 2020-11-24 10:35:53 +01:00
Rafostar
2cd946c6c0 Convert Flatpak manifest to JSON format #12 2020-11-23 14:08:59 +01:00
Rafostar
4c2cca855e Update screenshots 2020-11-22 20:03:13 +01:00
Rafostar
24de7ee8c1 Remove "Playback" tab from prefs
Move items under "Playback" tab to "Player" tab to reduce number of top bar tabs in prefs. Also temporarly disable subtitles settings due to lack of external subtitles support.
2020-11-22 19:37:18 +01:00
Rafostar
66162349ac Use dark theme by default. Closes #13 2020-11-21 15:56:03 +01:00
Rafostar
f5e5071937 Support setting sliders brighter #13
When dark theme is used, sliders (especially progress on fullscreen) tend to look a little too dark (as if they were disabled). To overcome this, add an option to force them to be 20% brighter.
2020-11-21 15:20:09 +01:00
Rafostar
c221f7cdb6 Do not show hours when duration is shorter #14 2020-11-20 22:41:33 +01:00
Rafostar
7ccd6ad424 Add audio and subtitle offset settings to prefs 2020-11-20 21:19:23 +01:00
Rafostar
ac27c364f3 Add dark theme support #13 2020-11-20 17:37:41 +01:00
Rafostar
82c30c6c2d Flatpak: add fix ass subtitles smooth scaling patch
Fix for ass subtitles jittering animations. More info in my GStreamer MR:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1822
2020-11-19 18:50:22 +01:00
Rafostar
1947140def Toggle fullscreen with "f" key 2020-11-18 17:05:12 +01:00
Rafostar
24702c55d3 Update README.md 2020-11-18 10:39:51 +01:00
Rafostar
e35968d583 Always show preroll frame
This fixes preview while player is paused
2020-11-17 19:12:25 +01:00
Rafostar
796863a692 Point to GitHub pages from about dialog 2020-11-17 15:30:28 +01:00
Rafostar
856f000799 Update screenshots 2020-11-17 15:29:01 +01:00
Rafostar
652e4eecf2 Update README.md 2020-11-17 15:06:53 +01:00
Rafostar
6788f234aa Flatpak: add more black rendering improvements to patch 2020-11-17 13:20:03 +01:00
Rafostar
7159bf3d5a Flatpak: add vah264dec seeking fix patch 2020-11-16 09:27:40 +01:00
Rafostar
910a289b6d Let floating window have shadow if shadows are enabled
If normal window would have shadow and floting did not, then a size mismatch would occur during transition. Besides it allows to notice if floating window is focused and respects user theme.
2020-11-13 23:00:06 +01:00
Rafostar
373714f161 Performance: do not try to render controls box when empty 2020-11-13 20:12:26 +01:00
Rafostar
f660d900ba Performance: add option to disable window shadows
Rendering window shadows in GTK4 doubles GPU usage. This commit adds an option to disable them for performance gain (useful on low-end devices).
2020-11-13 19:26:49 +01:00
Rafostar
4413fdb8a2 Tweak top revealer size and opacity a little 2020-11-13 13:16:12 +01:00
Rafostar
8e48da2a9f Performance: do not render window background and shadows when fullscreen 2020-11-12 22:51:14 +01:00
Rafostar
63236a8097 Performance: render video and black background in single GL pass 2020-11-12 19:20:03 +01:00
Rafostar
0143f23487 Update TODO.md 2020-11-10 23:42:56 +01:00
Rafostar
7226a59cea Set (un)inhibit screen earlier 2020-11-10 23:16:45 +01:00
Rafostar
e7937162e7 Fix file chooser not being freed from memory 2020-11-10 20:28:57 +01:00
Rafostar
f644710762 Set popover parent only once and unset on app close 2020-11-10 18:11:59 +01:00
Rafostar
0c307bc606 Ignore state change signals during app exit 2020-11-09 21:45:59 +01:00
Rafostar
314b66b7fd Disconnect close-request signal before exit 2020-11-09 21:35:17 +01:00
Rafostar
fa131c0356 flatpak: add glib-networking lib 2020-11-09 20:50:14 +01:00
Rafostar
7577c74a77 Enable ring buffer 2020-11-09 20:49:58 +01:00
Rafostar
010fcf6dcf Update README.md 2020-11-09 20:12:07 +01:00
Rafostar
513904bd6d Make prefs tabs look like the ones in gnome-settings 2020-11-09 19:30:45 +01:00
Rafostar
e6f683bb96 Workaround dialogs double unref 2020-11-09 17:57:31 +01:00
Rafostar
8bb6ce04ef Get initial dimensions only once 2020-11-09 17:56:38 +01:00
Rafostar
f8c47e611a flatpak: update required GTK4 libs 2020-11-09 14:41:37 +01:00
Rafostar
1bb1fc76e1 Update flatpak GTK4 to latest git master 2020-11-09 13:13:09 +01:00
Rafostar
8351066a8b Add changing seek mode during playback patch 2020-11-09 11:42:19 +01:00
Rafostar
dd3ba11c0e Set min GStreamer ver warning to 1.18.x 2020-11-09 11:40:48 +01:00
Rafostar
c2bd6bc894 Set min floating window size 2020-11-09 11:40:01 +01:00
Rafostar
9be93c66f1 Improve obtaining initial player dragging coords 2020-11-06 20:33:14 +01:00
Rafostar
868c39f1cf Store and restore floating window size 2020-11-06 19:43:38 +01:00
Rafostar
eb1a495907 Reduce number of source files (cleanup) 2020-11-06 17:04:54 +01:00
Rafostar
42c208d1df Make file chooser and open URI dialogs modal 2020-11-05 20:19:26 +01:00
Rafostar
da21c2fafc Add fast seeking support as a patch 2020-11-05 16:13:57 +01:00
Rafostar
81bdcf6244 Enable "Fast Seeking" option
Since GstPlayer pipeline ref count is now fixed by a patch, fast seeking option can be enabled. In my tests this seeking method is over 10x faster then normal seeking on some files, but the video time you end up with might differ up to few seconds from the value requested.
2020-11-04 22:57:05 +01:00
Rafostar
2b11f68723 Add new patch for GstPlayer 2020-11-04 22:20:42 +01:00
Rafostar
de7a850cc2 Create gio settings only once 2020-11-04 15:05:16 +01:00
Rafostar
8296f40382 Allow adjusting volume before loading file 2020-11-04 12:37:42 +01:00
Rafostar
11468e2774 Add unexported by GI Gst.PlayFlags 2020-11-04 12:37:36 +01:00
Rafostar
23b39e5f3b Add open URI dialog 2020-11-03 20:56:21 +01:00
Rafostar
dbb25ce474 Add min dimensions in widget example 2020-11-03 19:24:57 +01:00
Rafostar
665f5aa1d6 Update screenshots 2020-11-03 18:18:54 +01:00
Rafostar
ff58713426 Add "Floating Window Mode"
A simple borderless window floating on desktop. Window can be resized and moved by dragging. It also has some minimalistic controls showing on top of the video when cursor is hovering over it.\n\n This was a feature originally requested by @zahid1905.
2020-11-03 17:40:19 +01:00
Rafostar
ba54a36058 Keep a ref to main context
Might help with GJS toggling down object bug. Needs some testing.
2020-11-03 17:18:37 +01:00
Rafostar
02afe2b06d Update appdata 2020-11-02 21:40:15 +01:00
Rafostar
d17c30909a Always build flatpak from latest commit 2020-11-02 11:58:59 +01:00
Rafostar
866e8325e6 Do not show "Ends at" text when player is stopped 2020-11-02 09:11:55 +01:00
Rafostar
2dfeb160ac Add AppStream metadata 2020-10-31 17:43:20 +01:00
Rafostar
157d2ac8c2 Set theme jekyll-theme-cayman 2020-10-31 16:43:27 +01:00
Rafostar
a019ef90ca Remember and restore last window dimensions on launch 2020-10-31 09:04:41 +01:00
Rafostar
36145adf1a Always start with black image 2020-10-31 08:21:18 +01:00
Rafostar
bcd73448de Disable "vah264dec" by default
The "vah264dec" plugin is a new and much better VAAPI implementation then default one in gstreamer-vaapi. Unfortunately as of now it works correctly only on Wayland and causes crashes on XOrg. Wayland users can easily enable it in video player preferences advanced tab settings to get improved performance and lower CPU usage.
2020-10-31 08:07:38 +01:00
Rafostar
19e1a20bf7 Start fullscreen playback after toplevel state is changed 2020-10-30 22:51:30 +01:00
Rafostar
2260c09f2e Remove Intel VAAPI from flatpak spec file
Already comes with GNOME runtime, so no need to specify it here 2nd time
2020-10-30 22:23:49 +01:00
Rafostar
f0a54f97e1 Add all missing deps for building flatpak
With this flatpak is now possible to build and working
2020-10-29 18:58:02 +01:00
Rafostar
9d9759991b Update flatpak sources 2020-10-26 22:41:22 +01:00
Rafostar
ac06e84851 Open files via native file chooser 2020-10-26 21:25:13 +01:00
Rafostar
556809c1f4 Add GStreamer plugin ranking to preferences 2020-10-26 16:45:37 +01:00
Rafostar
31f208006f Add startup fullscreen and volume preferences 2020-10-26 11:07:01 +01:00
Rafostar
9354042379 Add preferences dialog
Allows customizing various settings. For now it includes player seeking times and mode customization. More options will be added in the future.
2020-10-25 10:14:14 +01:00
Rafostar
576440faff Fix update media end time 2020-10-23 10:26:11 +02:00
Rafostar
e7a39d6af8 Upload keyboard test script 2020-10-22 11:44:14 +02:00
Rafostar
cc4757aef5 Do not hide controls while navigating panel 2020-10-21 13:19:38 +02:00
Rafostar
0b1864378b Add Clapper usage as GTK widget 2020-10-21 12:24:42 +02:00
Rafostar
0291377389 Major code cleanup 2020-10-20 22:30:15 +02:00
Rafostar
4dea498f37 Improve position scale alignment in fullscreen 2020-10-19 13:27:41 +02:00
Rafostar
82840d5852 Start loading media after window is shown 2020-10-19 13:26:15 +02:00
Rafostar
b383a89107 Get rid of Noto Sans in CSS
Cantarell is the default font of GNOME. We do not need to specify "Noto Sans" as fallback.
2020-10-17 19:51:23 +02:00
Rafostar
0f56c5967b Update packages
Changes:
* Require the same GStreamer 1.18+ for all plugins
* Remove gst-plugins-gtk4 dependency where build is unavailable
2020-10-17 17:35:34 +02:00
Rafostar
5ea36804b7 Update README.md 2020-10-17 12:19:54 +02:00
Rafostar
b2e052d7a4 Do not show cursor on small movement 2020-10-16 22:11:54 +02:00
Rafostar
c9d9927bb1 Remove unused mainloop 2020-10-16 21:45:32 +02:00
Rafostar
7f1264ae27 Add fast seeking (disabled by default)
The fast seeking option. It seeks to the next keyframe which reduces seeking delay over 10 times, but makes the seeking very inaccurate as a side effect (usually up to few seconds from requested position).
2020-10-16 20:00:22 +02:00
Rafostar
1119e3e792 Fix GstPlayer error logging 2020-10-16 17:03:51 +02:00
Rafostar
8297be45ba Add player seek_done property 2020-10-16 13:24:18 +02:00
Rafostar
eafc65d15d Go back to beginning after playback ends 2020-10-16 12:13:00 +02:00
Rafostar
d0eb28b207 Remove GTK3 "widget.show()" leftovers 2020-10-16 10:59:00 +02:00
Rafostar
12c1251c9b Update video info during non-local file playback
With this player will always show current video resolution when playing fragmented media like HLS or MPD online videos
2020-10-16 00:21:43 +02:00
Rafostar
745747b604 Hide time and position scale on LIVE media 2020-10-15 22:49:37 +02:00
Rafostar
6f2ec62515 Fill position scale to the very end 2020-10-15 20:15:56 +02:00
Rafostar
04abecf511 Refresh position time on startup 2020-10-15 18:13:43 +02:00
Rafostar
fa07c4532c Fix player process not exiting after window close 2020-10-15 17:54:28 +02:00
Rafostar
57a8e6d933 Add about dialog 2020-10-15 16:21:46 +02:00
Rafostar
34d39502b9 Create FUNDING.yml 2020-10-15 10:45:57 +02:00
Rafostar
50a5a527b6 Add screenshots to Readme #5 2020-10-14 20:19:20 +02:00
Rafostar
f1d7b5d151 Upload screenshots #5 2020-10-14 20:05:16 +02:00
Rafostar
acbbfbfcb4 Merge pull request #8 from Rafostar/GTK4
We are moving to GTK4! Porting took a little longer than expected, cause I had to port GStreamer first. This change will be problematic for users of non-rolling linux distros, but its worth it. Both GTK4 and GStreamer 1.18+ have important GL changes. Clapper player takes full advantage of them.
2020-10-14 18:52:23 +02:00
Rafostar
8fb41b41b4 Update README.md 2020-10-14 18:40:23 +02:00
Rafostar
f8a4465fed Add required GTK4 and GStreamer versions to pkgs 2020-10-14 17:17:00 +02:00
Rafostar
ea8226f1d3 Restore seek on drop behavior 2020-10-14 16:45:09 +02:00
Rafostar
a20a0c8160 Grab player focus only when controls are not visible 2020-10-14 12:52:11 +02:00
Rafostar
05c9528723 Auto change focus between player and controls 2020-10-14 12:30:57 +02:00
Rafostar
d78d3c1450 Set position slider minimal fill to zero 2020-10-14 12:25:46 +02:00
Rafostar
1069f151f0 Restore automatic menu hiding 2020-10-14 10:57:43 +02:00
Rafostar
1f6a9b59d6 Restore button presses 2020-10-13 23:47:13 +02:00
Rafostar
b1ca9c15bc Restore scrolling on player 2020-10-13 22:07:22 +02:00
Rafostar
80b9eb7c97 Fix volume button scroll 2020-10-13 21:36:11 +02:00
Rafostar
3e96a13f00 Restore window dragging by drag on player 2020-10-13 20:32:59 +02:00
Rafostar
cdfafd52af Set popover button checked state 2020-10-13 20:29:14 +02:00
Rafostar
e430956752 Allow navigating over buttons via keyboard 2020-10-13 20:27:58 +02:00
Rafostar
d3e4f3bb0f Add player motion and key controllers 2020-10-12 16:25:54 +02:00
Rafostar
e2d6cc440d Tweak play/pause icons size 2020-10-07 23:41:12 +02:00
Rafostar
43a54920ef Change elapsed time into button 2020-10-07 23:10:11 +02:00
Rafostar
4c5d922d47 Fix toggle play button icon change 2020-10-07 20:22:02 +02:00
Rafostar
352eff89b7 Fix volume button icon and window key events 2020-10-07 18:18:44 +02:00
Rafostar
041b31c161 Fix enter fullscreen and popover buttons 2020-10-07 16:40:42 +02:00
Rafostar
dbdb6988a2 Fix window "fullscreen-changed" signal 2020-10-06 12:04:28 +02:00
Rafostar
bae0b805ea Initial GTK4 port
Port most of the player to GTK4. Some things are still broken or disabled due to GTK change, but will be gradually fixed.
2020-10-05 21:19:29 +02:00
Rafostar
e7e9b9c07d Use virtual functions 2020-09-23 15:14:32 +02:00
Rafostar
db8429d73f Use "Cantarell" fonts for OSD with fallback to "Noto" and "sans-serif" 2020-09-21 22:19:37 +02:00
Rafostar
1ce533259b Auto initialize Gst and change one player function name 2020-09-21 20:51:01 +02:00
Rafostar
31db48d137 Replace deprecated Gtk HBox and VBox with normal Box 2020-09-21 20:49:25 +02:00
Rafostar
f6560c11f9 Fix recent OBS for openSUSE builds errors #7 2020-09-20 21:59:04 +02:00
Rafostar
4e42e2be9e Merge pull request #7 from sp1ritCS/master
modified clapper.spec to fit openSUSE packagaging guidelines
2020-09-20 21:00:48 +02:00
Rafostar
fed36ab565 Add "brz" dependency needed for Debian OBS 2020-09-20 00:01:55 +02:00
Rafostar
483c1ba49e Add DEB packaging 2020-09-19 22:31:13 +02:00
SpiritCS
bb71784974 modified clapper.spec to fit openSUSE packagaging guidelines 2020-09-19 22:06:17 +02:00
Rafostar
a504f499c6 Add gst-plugins-good dependency 2020-09-19 21:25:23 +02:00
Rafostar
2185911fde Move OBS _service file to repo root 2020-09-19 12:47:42 +02:00
Rafostar
16087edaff Update Arch PKGBUILD 2020-09-19 12:31:27 +02:00
Rafostar
dc707630f9 Build files cleanup 2020-09-18 19:12:23 +02:00
Rafostar
eed51f0423 Build spec files fixes 2020-09-18 18:37:21 +02:00
Rafostar
80aa3b467b Update rpm spec (#6)
* Update RPM spec file

* Add required deps versions to RPM spec
2020-09-18 17:21:21 +02:00
Rafostar
21de7e7bfd Replace deprecated margin proporties 2020-09-18 13:11:24 +02:00
Rafostar
be359ab27a Smaller play sign on desktop icon 2020-09-17 22:25:44 +02:00
Rafostar
932849af92 Add desktop file, icon and "application/claps" mime type 2020-09-17 18:57:40 +02:00
Rafostar
2225aa2343 Fix playlist file relative path handling 2020-09-17 13:00:45 +02:00
Rafostar
ae766298a8 Lower CPU usage when OSD is visible 2020-09-16 18:24:31 +02:00
Rafostar
1c2a8a476e Move revealers logic to separate file 2020-09-16 13:26:30 +02:00
Rafostar
1918b30bea Cover whole video screen with top revealer
Previously top revealer was set to fixed size, which caused a noticable video tearing along the revealer edge during its animation. This commit removes fixed revealer size, which in turn casues the revealer to cover whole video screen (default behavior), thus eliminates the tearing. Since overlay now becomes the top widget, all player notify signals were reconnected to it.
2020-09-16 11:54:01 +02:00
Rafostar
73e7f1e2a0 Add top overlay with title and current hour
This adds Kodi-like semi-transparent overlay with current media title, hour and estimated time when video will end. The overlay is visible only on fullscreen mode.
2020-09-15 21:08:46 +02:00
Rafostar
779796c2c3 Fix GUI look when video track is disabled 2020-09-14 22:25:42 +02:00
Rafostar
234c49221e Enable scroll on volume button 2020-09-14 16:10:09 +02:00
Rafostar
71659491c0 Support changing rank of codecs
The used GStreamer codecs are picked using rank hierarchy. When there are 2 or more decoders available that can handle the same stream type, the one with higher rank is always picked. This commit adds a function for the codec rank manipulation that can be used for e.g. force disable/enable VAAPI. Should be a neat feature once we have a settings dialog where it can be used.
2020-09-13 20:21:46 +02:00
Rafostar
c34df72f96 Drop all player signals on destroy 2020-09-13 17:20:07 +02:00
Rafostar
5a94ea445b Consistent with Readme packages description 2020-09-13 17:17:17 +02:00
Rafostar
75d4f26b78 Add gstreamer installation info to readme 2020-09-13 15:44:14 +02:00
Rafostar
940a828c46 Merge pull request #4 from sp1ritCS/master
Add prebuild packages links in readme
2020-09-13 13:46:01 +02:00
SpiritCS
e1fceecfac added prebuild packages in readme 2020-09-13 13:08:20 +02:00
Rafostar
1860114b7c Trim playlist from whitespaces 2020-09-13 11:23:55 +02:00
Rafostar
059ee932fe Skip non-existing files in playlist 2020-09-13 11:13:04 +02:00
Rafostar
9c37002925 Update README.md 2020-09-13 10:55:57 +02:00
Rafostar
2951157956 Merge pull request #3 from sp1ritCS/master
Add package files
2020-09-13 10:28:11 +02:00
SpiritCS
404b0f1200 cleaned up comments 2020-09-13 01:29:10 +02:00
Rafostar
5e6b0b9c48 Load playlist from text file
With this change Clapper can open and load a playlist inside a text file. The text file should have a ".claps" extension and include one media file path per line (path can be either absolute, relative or even a HTTP link).
2020-09-12 22:59:10 +02:00
Rafostar
043fe9f75e Move Popover button creation to buttons.js 2020-09-12 21:10:44 +02:00
Rafostar
71c5454547 Fix invisible unfullscreen button 2020-09-12 19:28:17 +02:00
SpiritCS
cb3058dc6f added libav arch optdepend 2020-09-12 17:48:14 +02:00
SpiritCS
c2856d6146 fixed gstreamer1 on RHEL, added libav to suse builds 2020-09-12 15:17:19 +02:00
SpiritCS
c7be556e6e added all codecs from totem, only using gst-libav for now tho; added gst-vaapi, further research required 2020-09-12 14:06:08 +02:00
SpiritCS
f973f15444 fixed my vim so its on par with githubs tab policy 2020-09-12 12:41:17 +02:00
SpiritCS
d37a025500 fixed stuff @Rafostar requested 2020-09-12 12:37:05 +02:00
Spirit
4abca4bd42 fixed x86_64 dep issue 2020-09-11 23:43:54 +00:00
Spirit
2ea19aa769 added potentially missing deps 2020-09-11 20:53:58 +00:00
Rafostar
6938f01433 Add "BoxedIconButton" class 2020-09-11 21:28:00 +02:00
SpiritCS
1267614450 fixed arch build 2020-09-11 20:59:40 +02:00
Florian Singer
4116d3bbe3 Added Arch, Flatpak & RPM package files 2020-09-11 20:51:37 +02:00
Rafostar
5afe5149aa Add music visualizations 2020-09-11 20:33:06 +02:00
Rafostar
a01cc058cd Do not display video FPS when unavailable
Do not try to display video FPS inside video tracks selection popover button. The FPS value can be zero for example when viewing pictures.
2020-09-10 21:41:58 +02:00
Rafostar
1fdbf09cbd Display shorter names for all audio codecs 2020-09-10 21:32:12 +02:00
Rafostar
b446fb943e Hide track selection buttons without contents 2020-09-10 21:21:35 +02:00
Rafostar
ed5d449142 Support for multiple media files
This enables support for starting media player with more than one file path specified. When a file playback finishes, next is loaded automatically.
2020-09-10 19:53:04 +02:00
Rafostar
b8ed6b32dc Reuse old redio buttons
When a media is changed, normally one would expect to create new radio buttons with video/audio/subtitle tracks names corresponding to current video, but this is inefficient. Destroying objects just to create similiar ones again does take a long time and might lead to memory leaks. That is why a better and faster approach is to simply edit already available objects to match our expectations instead. This commit does just that for tracks radio buttons.
2020-09-10 19:50:41 +02:00
Rafostar
e9ec155e7b Move fullscreen and menu buttons to header bar
Follow other GNOME apps designs by having fullscreen button on the right side of window header bar. The control panel had too many buttons already and we still need to make some space for playlist. This way "fullscreen" button will be on top bar while windowed and "unfullscreen" button will appear on the bottom right only when player entered fullscreen mode.
2020-09-10 14:24:02 +02:00
Rafostar
557cbc11e2 Use filename as title when media info doesn't have one 2020-09-10 11:34:50 +02:00
Rafostar
3fb370e1d0 Fix not updated volume icon on startup 2020-09-10 10:41:37 +02:00
Rafostar
06914db0da Add header bar with media title and path 2020-09-10 10:26:20 +02:00
Rafostar
a9ac872c98 Do not hide controls in fullscreen while navigating it 2020-09-09 22:56:11 +02:00
Rafostar
0c5278e844 Make button popovers appear above the controls bar 2020-09-09 21:40:16 +02:00
Rafostar
ab11d52a68 Recreate volume button from scratch
Create volume button with popover instead of using GTK provided volume button.

Creating new button with only needed elements is more efficient then removing unneeded items from pre-made volume button. This should also increase performance a little when changing volume, because now we generate new icon only when a change is needed. In pre-made button icon is regenerated on each volume change.
2020-09-09 21:34:32 +02:00
Rafostar
22e8e44316 Create TODO.md
Note all collected ideas from reddit comments.
2020-09-09 10:28:47 +02:00
Spirit
b65666d4be Clean up meson warnings (#2)
Co-authored-by: Florian Singer <florian@spiritXPS.localdomain>
2020-09-09 09:26:34 +02:00
Rafostar
edcc7b71b9 Add meson build system (#1)
Initial meson build system support. We do not create .desktop file yet, but we need an option to open media files from GUI first anyway.
2020-09-08 19:55:59 +02:00
Rafostar
fd22457857 Reduce fullscreen position scale height a little bit 2020-09-08 10:31:22 +02:00
Rafostar
1c5759af88 Remove "Performace Comparison" from readme
Looks like nowadays VA-API is force disabled in Totem, in which case this comparison does not seem fair.
2020-09-08 09:45:22 +02:00
Rafostar
649ff7682c Support loading files using full or relative paths 2020-09-08 08:58:43 +02:00
Rafostar
689edd9cf3 Always start unmuted 2020-09-07 11:54:57 +02:00
Rafostar
ba37e66054 Add performace comparison to readme 2020-09-07 11:48:07 +02:00
Rafostar
a8fa4bc6de Tweak fullscreen menu appearance 2020-09-07 11:27:06 +02:00
Rafostar
7626813ff3 Update README.md 2020-09-06 14:12:19 +02:00
Rafostar
374e3cc33a Show "Unknown" when language is undetected 2020-09-06 12:44:24 +02:00
Rafostar
f5db250486 Load media after player is drawn
Loading file too early might lead to Xorg related crash. We must first make sure the player widget is fully drawn, before we start drawing video frames.
2020-09-06 12:18:37 +02:00
Rafostar
da652e1ec5 Skip setting player option when unsupported 2020-09-06 10:34:27 +02:00
Rafostar
d8d342a956 Make everything on fullscreen bigger (TV mode) 2020-09-06 10:18:53 +02:00
Rafostar
7d2edec553 Show playback time and switch to dark mode when fullscreen 2020-09-05 13:49:44 +02:00
Rafostar
e76d1c9e6e Add video, audio and subtitle track selection 2020-09-04 23:43:51 +02:00
Rafostar
24e84a397b Assign created elements to player keys 2020-09-04 23:38:29 +02:00
Rafostar
4e235a0e9b Add controls background on fullscreen 2020-09-04 10:47:05 +02:00
Rafostar
54bbcd2eb1 Make all interface buttons flat 2020-09-03 23:08:32 +02:00
Rafostar
e5e06336f3 Add slide animation for fullscreen controls 2020-09-03 21:17:43 +02:00
Rafostar
3d9bab0578 Add overlay for controls when fullscreen
When player is fullscreen playback controls are shown on top of video (at screen bottom). When windowed, controls are shown below the video instead.
2020-09-03 20:01:26 +02:00
Rafostar
2bef72fd95 Change pause icon to play on stopped video 2020-09-03 13:02:29 +02:00
Rafostar
28264da424 Prevent system from lock/suspend when video is playing 2020-09-03 12:53:24 +02:00
Rafostar
f6f2a2f4e4 Add some easy way to install
I know that this should be done using some sort of build system (like meson), but the player is still far from finished and a basic install script should be sufficient for the time being, if anyone wishes to test it.
2020-09-03 11:33:42 +02:00
Rafostar
7d2b1f1118 Add custom debug script with Gst version check 2020-09-03 10:43:07 +02:00
Rafostar
176ddf1cc2 Bind keyboard up/down arrow keys to volume 2020-09-03 10:40:58 +02:00
Rafostar
ec68db73c9 Do not update position slider during buffering 2020-09-03 07:29:02 +02:00
Rafostar
9f18ec35b2 Tweak position and volume slider values 2020-09-02 22:26:48 +02:00
Rafostar
70ec6311c0 Add seeking on slider drop and make it default behaviour
Seeking during slider drag is very CPU and HDD intensive task. We are requesting the player to keep seeking in VERY short amounts of time. This can be performed more effectively by doing a single seek after slider drop. Since this is a different behaviour then usually in media players, I am making this optional (enabled by default).
2020-09-02 18:31:22 +02:00
Rafostar
fd2ad7e596 Listen for key presses on window instead of player
This fixes a GNOME bug where sometimes key press events are not emited
2020-09-02 16:56:58 +02:00
Rafostar
c2bc1e39cc Add "addButton" convenience function 2020-09-02 16:54:58 +02:00
Rafostar
4480bed3bc Auto hide cursor on player window 2020-09-02 11:57:16 +02:00
Rafostar
116dc4dd20 Destroy removed volume control buttons 2020-09-02 09:12:17 +02:00
Rafostar
2333d8fc1c Fix drag sometimes starting from wrong button 2020-09-02 09:06:34 +02:00
Rafostar
7307845646 Initial video playlist support
For now player will load only first video from playlist. Good enough for testing. Full playlist support will be added later on.
2020-09-01 23:46:49 +02:00
Rafostar
9f04b74e05 Fix volume button icon behaviour 2020-09-01 23:43:40 +02:00
Rafostar
647ad3f1ec Drag application from video (MPV like window dragging) 2020-09-01 19:48:25 +02:00
Rafostar
26a571408b Add some keys, buttons and scrolls bindings 2020-09-01 17:50:59 +02:00
Rafostar
fa12f15a9a Start loop optionally 2020-09-01 17:49:24 +02:00
Rafostar
326ba66da0 Spread volume icon changes evenly 2020-09-01 17:46:47 +02:00
Rafostar
18a7d34d95 Do not set position adjustment twice 2020-09-01 17:45:36 +02:00
Rafostar
b401bc15ff Improve volume scale icons logic 2020-09-01 12:10:55 +02:00
Rafostar
80ac01706d Move GtkWindow logic to separate file 2020-09-01 10:50:30 +02:00
Rafostar
e35d18505e Use else-if 2020-08-31 23:13:47 +02:00
Rafostar
bf35da6b91 Recycle old position scale adjustment 2020-08-31 23:11:34 +02:00
Rafostar
f70fe43303 Add toggle fullscreen button 2020-08-31 22:21:46 +02:00
Rafostar
918ba34885 Add Gtk app 2020-08-31 20:47:10 +02:00
Rafostar
734471475f Add "seek_seconds" function
Default "seek" function takes time in nanoseconds as argument which is not that useful, cause we will start playback from the nearest keyframe anyway. The new "seek_seconds" can take a double value for more precise seeking.
2020-08-30 20:19:37 +02:00
Rafostar
f35ac10553 Make sure loop is not running before starting it 2020-08-30 20:09:36 +02:00
Rafostar
ceb8930a88 Rename project to "Clapper" 2020-08-30 20:05:58 +02:00
Rafostar
2b0ad406e5 Rename LICENSE to COPYING 2020-08-30 19:40:14 +02:00
Rafostar
71dee1f410 Update README.md 2020-08-29 23:22:59 +02:00
Rafostar
19dfbb7be1 Add "gex" support 2020-08-29 15:51:06 +02:00
Rafostar
4d1166a952 Initial version upload 2020-08-29 15:48:38 +02:00
889 changed files with 61097 additions and 151791 deletions

43
.github/workflows/flatpak-nightly.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
name: "Flatpak Nightly"
jobs:
flatpak:
name: "Flatpak"
runs-on: ubuntu-latest
timeout-minutes: 600
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Docker
run: |
dnf -y install docker
- name: Setup QEMU
id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Prepare Runtime
run: |
flatpak --system install -y --noninteractive flathub org.freedesktop.Sdk.Extension.rust-nightly/${{ matrix.arch }}/23.08
flatpak --system install -y --noninteractive flathub org.freedesktop.Sdk.Extension.llvm16/${{ matrix.arch }}/23.08
- name: Build
uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v6
with:
bundle: com.github.rafostar.Clapper.flatpak
manifest-path: pkgs/flatpak/com.github.rafostar.Clapper-nightly.json
repository-name: gnome-nightly
repository-url: https://nightly.gnome.org/gnome-nightly.flatpakrepo
cache-key: flatpak-builder-${{ github.sha }}-testing-${{ github.run_number }}
arch: ${{ matrix.arch }}

41
.github/workflows/flatpak.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master
name: "Flatpak"
jobs:
flatpak:
name: "Flatpak"
runs-on: ubuntu-latest
timeout-minutes: 600
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-45
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Docker
run: |
dnf -y install docker
- name: Setup QEMU
id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Build
uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v6
with:
bundle: com.github.rafostar.Clapper.flatpak
manifest-path: pkgs/flatpak/com.github.rafostar.Clapper.json
cache-key: flatpak-builder-${{ github.sha }}
arch: ${{ matrix.arch }}

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
# meson/ninja
build/
install/
builddir/
# flatpak
.flatpak-builder/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "pkgs/flatpak/flathub"]
path = pkgs/flatpak/flathub
url = https://github.com/flathub/com.github.rafostar.Clapper.git

10
.obs/workflows.yml Normal file
View File

@@ -0,0 +1,10 @@
rebuild_master:
steps:
- trigger_services:
project: home:Rafostar
package: clapper
filters:
event: push
branches:
only:
- master

504
COPYING-LGPL Normal file
View File

@@ -0,0 +1,504 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random
Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -31,8 +31,6 @@ Both libraries support *GObject Introspection* bindings. A simple application ex
Above libraries are licensed under `LGPL-2.1-or-later`. You are free to use them in your own projects as long as you comply with license terms.
Please note that until version 1.0 they should be considered as an unstable API (some things may change without prior notice).
Clapper `Vala` bindings are part of this repo, while `Rust` bindings can be found [here](https://gitlab.gnome.org/JanGernert/clapper-rs).
## Installation from Flatpak
The `Flatpak` package includes all required dependencies and codecs.
Additionally it also has a few patches, thus some functionalities work better in `Flatpak` version (until my changes are accepted upstream).
@@ -56,8 +54,6 @@ meson compile
sudo meson install
```
If you want to compile app as `Flatpak`, remember to clone this repo with `--recurse-submodules` option.
## Questions?
Feel free to ask me any questions. Come and talk on Matrix: [#clapper-player:matrix.org](https://matrix.to/#/#clapper-player:matrix.org)
@@ -72,6 +68,5 @@ so if your language is not available, please contact me first.
Many thanks to [sp1ritCS](https://github.com/sp1ritCS) for creating and maintaining package build files.
Big thanks to [bridadan](https://github.com/bridadan) and [Uniformbuffer3](https://github.com/Uniformbuffer3) for helping
with testing V4L2 and NVDEC hardware acceleration methods.
Also words of appreciation for [JanGernert](https://gitlab.gnome.org/JanGernert) who made and is sharing Clapper Rust bindings.
Thanks a lot to all the people who are supporting the development with their anonymous donations through [Liberapay](https://liberapay.com/Clapper/). I :heart: U.

5
crowdin.yml Normal file
View File

@@ -0,0 +1,5 @@
files:
- source: /src/lib/clapper-gtk/po/clapper-gtk.pot
translation: /src/lib/clapper-gtk/po/%osx_locale%.po
- source: /src/bin/clapper-app/po/clapper-app.pot
translation: /src/bin/clapper-app/po/%osx_locale%.po

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,926 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Av</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.Av"/>
<meta property="og:description" content="Reference for ClapperGtk.Av"/>
<meta name="twitter:title" content="ClapperGtk.Av"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Av"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.Av.html#description">Av</a>
</div>
</div>
<div class="section">
<h5>Instance methods</h5>
<div class="links">
<a class="method" href="method.Av.get_auto_inhibit.html">get_auto_inhibit</a>
<a class="method" href="method.Av.get_inhibited.html">get_inhibited</a>
<a class="method" href="method.Av.get_player.html">get_player</a>
<a class="method" href="method.Av.set_auto_inhibit.html">set_auto_inhibit</a>
</div>
</div>
<div class="section">
<h5>Properties</h5>
<div class="links">
<a class="property" href="property.Av.auto-inhibit.html">auto-inhibit</a>
<a class="property" href="property.Av.inhibited.html">inhibited</a>
<a class="property" href="property.Av.player.html">player</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>Av</h1>
</header>
<section>
<summary>
<div class="docblock">
<p><span class="emblem available-next" title="This type will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.c#L19">[src]</a>
</h4>
<pre><code>class ClapperGtk.Av : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A base class for <span class="caps">GTK</span> audio and video&nbsp;widgets.</p>
<p>See its descendants: <a href="class.Audio.html"><code>ClapperGtkAudio</code></a> and <a href="class.Video.html"><code>ClapperGtkVideo</code></a>.</p>
<h1 id="actions">Actions<a class="md-anchor" href="#actions" title="Permanent link"></a></h1>
<p><code>ClapperGtkAv</code> defines a set of built-in&nbsp;actions:</p>
<div class="codehilite"><pre><span></span><code><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.toggle-play&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">toggle play/pause</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.play&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">start/resume playback</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.pause&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pause playback</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.stop&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">stop playback</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.seek&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">seek to position (variant &quot;d&quot;)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.seek-custom&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">seek to position using seek method (variant &quot;(di)&quot;)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.toggle-mute&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">toggle mute state</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.set-mute&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">set mute state (variant &quot;b&quot;)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.volume-up&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">increase volume by 2%</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.volume-down&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">decrease volume by 2%</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.set-volume&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">set volume to specified value (variant &quot;d&quot;)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.speed-up&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">increase speed (from 0.05x - 2x range to nearest quarter)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.speed-down&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">decrease speed (from 0.05x - 2x range to nearest quarter)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.set-speed&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">set speed to specified value (variant &quot;d&quot;)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.previous-item&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">select previous item in queue</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.next-item&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">select next item in queue</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;av.select-item&quot;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">select item at specified index in queue (variant &quot;u&quot;)</span>
</code></pre></div>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.Av">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="403pt" height="332pt"
viewBox="0.00 0.00 402.88 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkAv">
<path fill="none" stroke="black" d="M211.12,-108C211.12,-108 140.38,-108 140.38,-108 134.38,-108 128.38,-102 128.38,-96 128.38,-96 128.38,-84 128.38,-84 128.38,-78 134.38,-72 140.38,-72 140.38,-72 211.12,-72 211.12,-72 217.12,-72 223.12,-78 223.12,-84 223.12,-84 223.12,-96 223.12,-96 223.12,-102 217.12,-108 211.12,-108"/>
<text text-anchor="middle" x="175.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkAv</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node5" class="node">
<title>implements_0</title>
<g id="a_node5"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge4" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M145.28,-71.52C126.51,-60.74 102.53,-46.99 83.83,-36.26"/>
</g>
<!-- implements_1 -->
<g id="node6" class="node">
<title>implements_1</title>
<g id="a_node6"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="226.12,-36 125.38,-36 125.38,0 226.12,0 226.12,-36"/>
<text text-anchor="middle" x="175.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M175.75,-71.7C175.75,-60.85 175.75,-46.92 175.75,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node7" class="node">
<title>implements_2</title>
<g id="a_node7"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="394.88,-36 244.62,-36 244.62,0 394.88,0 394.88,-36"/>
<text text-anchor="middle" x="319.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M211.72,-71.52C233.87,-60.74 262.17,-46.99 284.24,-36.26"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M201.75,-180C201.75,-180 149.75,-180 149.75,-180 143.75,-180 137.75,-174 137.75,-168 137.75,-168 137.75,-156 137.75,-156 137.75,-150 143.75,-144 149.75,-144 149.75,-144 201.75,-144 201.75,-144 207.75,-144 213.75,-150 213.75,-156 213.75,-156 213.75,-168 213.75,-168 213.75,-174 207.75,-180 201.75,-180"/>
<text text-anchor="middle" x="175.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge3" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M175.75,-143.7C175.75,-132.85 175.75,-118.92 175.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M224.25,-252C224.25,-252 127.25,-252 127.25,-252 121.25,-252 115.25,-246 115.25,-240 115.25,-240 115.25,-228 115.25,-228 115.25,-222 121.25,-216 127.25,-216 127.25,-216 224.25,-216 224.25,-216 230.25,-216 236.25,-222 236.25,-228 236.25,-228 236.25,-240 236.25,-240 236.25,-246 230.25,-252 224.25,-252"/>
<text text-anchor="middle" x="175.75" y="-227.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge2" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M175.75,-215.7C175.75,-204.85 175.75,-190.92 175.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M194.62,-324C194.62,-324 156.88,-324 156.88,-324 150.88,-324 144.88,-318 144.88,-312 144.88,-312 144.88,-300 144.88,-300 144.88,-294 150.88,-288 156.88,-288 156.88,-288 194.62,-288 194.62,-288 200.62,-288 206.62,-294 206.62,-300 206.62,-300 206.62,-312 206.62,-312 206.62,-318 200.62,-324 194.62,-324"/>
<text text-anchor="middle" x="175.75" y="-299.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge1" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M175.75,-287.7C175.75,-276.85 175.75,-262.92 175.75,-252.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="descendants toggle-wrapper default-hide">
<h4 id="descendants">Descendants <a href="#descendants" class="anchor"></a></h4>
<div class="docblock">
<ul>
<li class="class"><a href="class.Audio.html" title="Audio">ClapperGtkAudio</a></li>
<li class="class"><a href="class.Video.html" title="Video">ClapperGtkVideo</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="method.Av.get_auto_inhibit.html">clapper_gtk_av_get_auto_inhibit</a></h6>
<div class="docblock">
<p>Get whether automatic session inhibit is&nbsp;enabled.</p>
</div>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
</div>
<div class="">
<h6><a href="method.Av.get_inhibited.html">clapper_gtk_av_get_inhibited</a></h6>
<div class="docblock">
<p>Get whether session is currently inhibited by
<code>ClapperGtkAv:auto-inhibit</code>.</p>
</div>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
</div>
<div class="">
<h6><a href="method.Av.get_player.html">clapper_gtk_av_get_player</a></h6>
<div class="docblock">
<p>Get <code>ClapperPlayer</code> used by this <code>ClapperGtkAv</code> instance.</p>
</div>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
</div>
<div class="">
<h6><a href="method.Av.set_auto_inhibit.html">clapper_gtk_av_set_auto_inhibit</a></h6>
<div class="docblock">
<p>Set whether widget should try to automatically inhibit session
from idling (and possibly screen going black) when media is&nbsp;playing.</p>
</div>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="property.Av.auto-inhibit.html">ClapperGtk.Av:auto-inhibit</a></h6>
<div class="docblock">
<p>Try to automatically inhibit session when media is&nbsp;playing.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.Av.inhibited.html">ClapperGtk.Av:inhibited</a></h6>
<div class="docblock">
<p>Get whether session is currently inhibited by&nbsp;playback.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.Av.player.html">ClapperGtk.Av:player</a></h6>
<div class="docblock">
<p>A <code>ClapperPlayer</code> used by&nbsp;widget.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkAvClass {
GtkWidgetClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkWidgetClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<ul class="toc-list">
</ul>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,965 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.ExtraMenuButton"/>
<meta property="og:description" content="Reference for ClapperGtk.ExtraMenuButton"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.ExtraMenuButton.html#description">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.ExtraMenuButton.new.html">new</a>
</div>
</div>
<div class="section">
<h5>Instance methods</h5>
<div class="links">
<a class="method" href="method.ExtraMenuButton.get_can_open_subtitles.html">get_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.get_speed_visible.html">get_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.get_volume_visible.html">get_volume_visible</a>
<a class="method" href="method.ExtraMenuButton.set_can_open_subtitles.html">set_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.set_speed_visible.html">set_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.set_volume_visible.html">set_volume_visible</a>
</div>
</div>
<div class="section">
<h5>Properties</h5>
<div class="links">
<a class="property" href="property.ExtraMenuButton.can-open-subtitles.html">can-open-subtitles</a>
<a class="property" href="property.ExtraMenuButton.speed-visible.html">speed-visible</a>
<a class="property" href="property.ExtraMenuButton.volume-visible.html">volume-visible</a>
</div>
</div>
<div class="section">
<h5>Signals</h5>
<div class="links">
<a class="signal" href="signal.ExtraMenuButton.open-subtitles.html">open-subtitles</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>ExtraMenuButton</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.ExtraMenuButton : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A menu button with extra&nbsp;options.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.ExtraMenuButton">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="403pt" height="332pt"
viewBox="0.00 0.00 402.88 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkExtraMenuButton">
<path fill="none" stroke="black" d="M252.38,-108C252.38,-108 99.12,-108 99.12,-108 93.12,-108 87.12,-102 87.12,-96 87.12,-96 87.12,-84 87.12,-84 87.12,-78 93.12,-72 99.12,-72 99.12,-72 252.38,-72 252.38,-72 258.38,-72 264.38,-78 264.38,-84 264.38,-84 264.38,-96 264.38,-96 264.38,-102 258.38,-108 252.38,-108"/>
<text text-anchor="middle" x="175.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkExtraMenuButton</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node5" class="node">
<title>implements_0</title>
<g id="a_node5"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge4" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M145.28,-71.52C126.51,-60.74 102.53,-46.99 83.83,-36.26"/>
</g>
<!-- implements_1 -->
<g id="node6" class="node">
<title>implements_1</title>
<g id="a_node6"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="226.12,-36 125.38,-36 125.38,0 226.12,0 226.12,-36"/>
<text text-anchor="middle" x="175.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M175.75,-71.7C175.75,-60.85 175.75,-46.92 175.75,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node7" class="node">
<title>implements_2</title>
<g id="a_node7"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="394.88,-36 244.62,-36 244.62,0 394.88,0 394.88,-36"/>
<text text-anchor="middle" x="319.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M211.72,-71.52C233.87,-60.74 262.17,-46.99 284.24,-36.26"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M201.75,-180C201.75,-180 149.75,-180 149.75,-180 143.75,-180 137.75,-174 137.75,-168 137.75,-168 137.75,-156 137.75,-156 137.75,-150 143.75,-144 149.75,-144 149.75,-144 201.75,-144 201.75,-144 207.75,-144 213.75,-150 213.75,-156 213.75,-156 213.75,-168 213.75,-168 213.75,-174 207.75,-180 201.75,-180"/>
<text text-anchor="middle" x="175.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge3" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M175.75,-143.7C175.75,-132.85 175.75,-118.92 175.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M224.25,-252C224.25,-252 127.25,-252 127.25,-252 121.25,-252 115.25,-246 115.25,-240 115.25,-240 115.25,-228 115.25,-228 115.25,-222 121.25,-216 127.25,-216 127.25,-216 224.25,-216 224.25,-216 230.25,-216 236.25,-222 236.25,-228 236.25,-228 236.25,-240 236.25,-240 236.25,-246 230.25,-252 224.25,-252"/>
<text text-anchor="middle" x="175.75" y="-227.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge2" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M175.75,-215.7C175.75,-204.85 175.75,-190.92 175.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M194.62,-324C194.62,-324 156.88,-324 156.88,-324 150.88,-324 144.88,-318 144.88,-312 144.88,-312 144.88,-300 144.88,-300 144.88,-294 150.88,-288 156.88,-288 156.88,-288 194.62,-288 194.62,-288 200.62,-288 206.62,-294 206.62,-300 206.62,-300 206.62,-312 206.62,-312 206.62,-318 200.62,-324 194.62,-324"/>
<text text-anchor="middle" x="175.75" y="-299.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge1" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M175.75,-287.7C175.75,-276.85 175.75,-262.92 175.75,-252.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.ExtraMenuButton.new.html">clapper_gtk_extra_menu_button_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkExtraMenuButton</code> instance.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="method.ExtraMenuButton.get_can_open_subtitles.html">clapper_gtk_extra_menu_button_get_can_open_subtitles</a></h6>
<div class="docblock">
<p>Get whether an option to open external subtitle stream inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.ExtraMenuButton.get_speed_visible.html">clapper_gtk_extra_menu_button_get_speed_visible</a></h6>
<div class="docblock">
<p>Get whether speed control inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.ExtraMenuButton.get_volume_visible.html">clapper_gtk_extra_menu_button_get_volume_visible</a></h6>
<div class="docblock">
<p>Get whether volume control inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.ExtraMenuButton.set_can_open_subtitles.html">clapper_gtk_extra_menu_button_set_can_open_subtitles</a></h6>
<div class="docblock">
<p>Set whether an option to open external subtitle stream should be&nbsp;allowed.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.ExtraMenuButton.set_speed_visible.html">clapper_gtk_extra_menu_button_set_speed_visible</a></h6>
<div class="docblock">
<p>Set whether speed control inside popover should be&nbsp;visible.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.ExtraMenuButton.set_volume_visible.html">clapper_gtk_extra_menu_button_set_volume_visible</a></h6>
<div class="docblock">
<p>Set whether volume control inside popover should be&nbsp;visible.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="property.ExtraMenuButton.can-open-subtitles.html">ClapperGtk.ExtraMenuButton:can-open-subtitles</a></h6>
<div class="docblock">
<p>Visibility of open subtitles option inside&nbsp;popover.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.ExtraMenuButton.speed-visible.html">ClapperGtk.ExtraMenuButton:speed-visible</a></h6>
<div class="docblock">
<p>Visibility of speed control inside&nbsp;popover.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.ExtraMenuButton.volume-visible.html">ClapperGtk.ExtraMenuButton:volume-visible</a></h6>
<div class="docblock">
<p>Visibility of volume control inside&nbsp;popover.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="signal.ExtraMenuButton.open-subtitles.html">ClapperGtk.ExtraMenuButton::open-subtitles</a></h6>
<div class="docblock">
<p>A signal that user wants to open subtitles&nbsp;file.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkExtraMenuButtonClass {
GtkWidgetClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkWidgetClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>
<li class="toc-list-item"><a href="#signals"><span class="link-text">Signals</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,977 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.NextItemButton</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.NextItemButton"/>
<meta property="og:description" content="Reference for ClapperGtk.NextItemButton"/>
<meta name="twitter:title" content="ClapperGtk.NextItemButton"/>
<meta name="twitter:description" content="Reference for ClapperGtk.NextItemButton"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.NextItemButton.html#description">NextItemButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.NextItemButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>NextItemButton</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-next-item-button.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.NextItemButton : Gtk.Button
implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A <code>GtkButton</code> for selecting next queue&nbsp;item.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.NextItemButton">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="530pt" height="404pt"
viewBox="0.00 0.00 529.88 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkNextItemButton">
<path fill="none" stroke="black" d="M312.5,-108C312.5,-108 169,-108 169,-108 163,-108 157,-102 157,-96 157,-96 157,-84 157,-84 157,-78 163,-72 169,-72 169,-72 312.5,-72 312.5,-72 318.5,-72 324.5,-78 324.5,-84 324.5,-84 324.5,-96 324.5,-96 324.5,-102 318.5,-108 312.5,-108"/>
<text text-anchor="middle" x="240.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkNextItemButton</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node6" class="node">
<title>implements_0</title>
<g id="a_node6"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M194.04,-71.52C165.38,-60.79 128.8,-47.09 100.18,-36.38"/>
</g>
<!-- implements_1 -->
<g id="node7" class="node">
<title>implements_1</title>
<g id="a_node7"><a xlink:title="Gtk.Actionable">
<polygon fill="none" stroke="black" points="234.25,-36 125.25,-36 125.25,0 234.25,0 234.25,-36"/>
<text text-anchor="middle" x="179.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkActionable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M225.67,-71.7C216.22,-60.85 204.08,-46.92 194.66,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node8" class="node">
<title>implements_2</title>
<g id="a_node8"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="353.12,-36 252.38,-36 252.38,0 353.12,0 353.12,-36"/>
<text text-anchor="middle" x="302.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge7" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M256.08,-71.7C265.69,-60.85 278.02,-46.92 287.6,-36.1"/>
</g>
<!-- implements_3 -->
<g id="node9" class="node">
<title>implements_3</title>
<g id="a_node9"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="521.88,-36 371.62,-36 371.62,0 521.88,0 521.88,-36"/>
<text text-anchor="middle" x="446.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_3 -->
<g id="edge8" class="edge">
<title>this&#45;&#45;implements_3</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M292.2,-71.52C323.78,-60.79 364.07,-47.09 395.6,-36.38"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Button">
<path fill="none" stroke="black" d="M265.25,-180C265.25,-180 216.25,-180 216.25,-180 210.25,-180 204.25,-174 204.25,-168 204.25,-168 204.25,-156 204.25,-156 204.25,-150 210.25,-144 216.25,-144 216.25,-144 265.25,-144 265.25,-144 271.25,-144 277.25,-150 277.25,-156 277.25,-156 277.25,-168 277.25,-168 277.25,-174 271.25,-180 265.25,-180"/>
<text text-anchor="middle" x="240.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkButton</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge4" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M240.75,-143.7C240.75,-132.85 240.75,-118.92 240.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M266.75,-252C266.75,-252 214.75,-252 214.75,-252 208.75,-252 202.75,-246 202.75,-240 202.75,-240 202.75,-228 202.75,-228 202.75,-222 208.75,-216 214.75,-216 214.75,-216 266.75,-216 266.75,-216 272.75,-216 278.75,-222 278.75,-228 278.75,-228 278.75,-240 278.75,-240 278.75,-246 272.75,-252 266.75,-252"/>
<text text-anchor="middle" x="240.75" y="-227.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge3" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M240.75,-215.7C240.75,-204.85 240.75,-190.92 240.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M289.25,-324C289.25,-324 192.25,-324 192.25,-324 186.25,-324 180.25,-318 180.25,-312 180.25,-312 180.25,-300 180.25,-300 180.25,-294 186.25,-288 192.25,-288 192.25,-288 289.25,-288 289.25,-288 295.25,-288 301.25,-294 301.25,-300 301.25,-300 301.25,-312 301.25,-312 301.25,-318 295.25,-324 289.25,-324"/>
<text text-anchor="middle" x="240.75" y="-299.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge2" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M240.75,-287.7C240.75,-276.85 240.75,-262.92 240.75,-252.1"/>
</g>
<!-- ancestor_3 -->
<g id="node5" class="node">
<title>ancestor_3</title>
<g id="a_node5"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M259.62,-396C259.62,-396 221.88,-396 221.88,-396 215.88,-396 209.88,-390 209.88,-384 209.88,-384 209.88,-372 209.88,-372 209.88,-366 215.88,-360 221.88,-360 221.88,-360 259.62,-360 259.62,-360 265.62,-360 271.62,-366 271.62,-372 271.62,-372 271.62,-384 271.62,-384 271.62,-390 265.62,-396 259.62,-396"/>
<text text-anchor="middle" x="240.75" y="-371.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_3&#45;&#45;ancestor_2 -->
<g id="edge1" class="edge">
<title>ancestor_3&#45;&#45;ancestor_2</title>
<path fill="none" stroke="black" d="M240.75,-359.7C240.75,-348.85 240.75,-334.92 240.75,-324.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.NextItemButton.new.html">clapper_gtk_next_item_button_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkNextItemButton</code> to play next <code>ClapperMediaItem</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (12)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_can_shrink.html">gtk_button_get_can_shrink</a></h6>
<div class="docblock">
<p>Retrieves whether the button can be smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_child.html">gtk_button_get_child</a></h6>
<div class="docblock">
<p>Gets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_has_frame.html">gtk_button_get_has_frame</a></h6>
<div class="docblock">
<p>Returns whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_icon_name.html">gtk_button_get_icon_name</a></h6>
<div class="docblock">
<p>Returns the icon name of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_label.html">gtk_button_get_label</a></h6>
<div class="docblock">
<p>Fetches the text from the label of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_use_underline.html">gtk_button_get_use_underline</a></h6>
<div class="docblock">
<p>Gets whether underlines are interpreted as&nbsp;mnemonics.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_can_shrink.html">gtk_button_set_can_shrink</a></h6>
<div class="docblock">
<p>Sets whether the button size can be smaller than the natural size of
its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_child.html">gtk_button_set_child</a></h6>
<div class="docblock">
<p>Sets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_has_frame.html">gtk_button_set_has_frame</a></h6>
<div class="docblock">
<p>Sets the style of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_icon_name.html">gtk_button_set_icon_name</a></h6>
<div class="docblock">
<p>Adds a <code>GtkImage</code> with the given icon name as a&nbsp;child.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_label.html">gtk_button_set_label</a></h6>
<div class="docblock">
<p>Sets the text of the label of the button to <code>label</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_use_underline.html">gtk_button_set_use_underline</a></h6>
<div class="docblock">
<p>Sets whether to use underlines as&nbsp;mnemonics.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_name.html">gtk_actionable_get_action_name</a></h6>
<div class="docblock">
<p>Gets the action name for <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_target_value.html">gtk_actionable_get_action_target_value</a></h6>
<div class="docblock">
<p>Gets the current target value of <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_name.html">gtk_actionable_set_action_name</a></h6>
<div class="docblock">
<p>Specifies the name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target.html">gtk_actionable_set_action_target</a></h6>
<div class="docblock">
<p>Sets the target of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target_value.html">gtk_actionable_set_action_target_value</a></h6>
<div class="docblock">
<p>Sets the target value of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_detailed_action_name.html">gtk_actionable_set_detailed_action_name</a></h6>
<div class="docblock">
<p>Sets the action-name and associated string target value of an
actionable&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.can-shrink.html">Gtk.Button:can-shrink</a></h6>
<div class="docblock">
<p>Whether the size of the button can be made smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.child.html">Gtk.Button:child</a></h6>
<div class="docblock">
<p>The child&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.has-frame.html">Gtk.Button:has-frame</a></h6>
<div class="docblock">
<p>Whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.icon-name.html">Gtk.Button:icon-name</a></h6>
<div class="docblock">
<p>The name of the icon used to automatically populate the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.label.html">Gtk.Button:label</a></h6>
<div class="docblock">
<p>Text of the label inside the button, if the button contains a label&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.use-underline.html">Gtk.Button:use-underline</a></h6>
<div class="docblock">
<p>If set, an underline in the text indicates that the following character is
to be used as&nbsp;mnemonic.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-name.html">Gtk.Actionable:action-name</a></h6>
<div class="docblock">
<p>The name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-target.html">Gtk.Actionable:action-target</a></h6>
<div class="docblock">
<p>The target value of the actionable widget&#8217;s&nbsp;action.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.activate.html">GtkButton::activate</a></h6>
<div class="docblock">
<p>Emitted to animate press then&nbsp;release.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.clicked.html">GtkButton::clicked</a></h6>
<div class="docblock">
<p>Emitted when the button has been activated (pressed and&nbsp;released).</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkNextItemButtonClass {
GtkButtonClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkButtonClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,977 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.PreviousItemButton</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.PreviousItemButton"/>
<meta property="og:description" content="Reference for ClapperGtk.PreviousItemButton"/>
<meta name="twitter:title" content="ClapperGtk.PreviousItemButton"/>
<meta name="twitter:description" content="Reference for ClapperGtk.PreviousItemButton"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.PreviousItemButton.html#description">PreviousItemButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.PreviousItemButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>PreviousItemButton</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-previous-item-button.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.PreviousItemButton : Gtk.Button
implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A <code>GtkButton</code> for selecting previous queue&nbsp;item.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.PreviousItemButton">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="530pt" height="404pt"
viewBox="0.00 0.00 529.88 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkPreviousItemButton">
<path fill="none" stroke="black" d="M323,-108C323,-108 158.5,-108 158.5,-108 152.5,-108 146.5,-102 146.5,-96 146.5,-96 146.5,-84 146.5,-84 146.5,-78 152.5,-72 158.5,-72 158.5,-72 323,-72 323,-72 329,-72 335,-78 335,-84 335,-84 335,-96 335,-96 335,-102 329,-108 323,-108"/>
<text text-anchor="middle" x="240.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkPreviousItemButton</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node6" class="node">
<title>implements_0</title>
<g id="a_node6"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M194.04,-71.52C165.38,-60.79 128.8,-47.09 100.18,-36.38"/>
</g>
<!-- implements_1 -->
<g id="node7" class="node">
<title>implements_1</title>
<g id="a_node7"><a xlink:title="Gtk.Actionable">
<polygon fill="none" stroke="black" points="234.25,-36 125.25,-36 125.25,0 234.25,0 234.25,-36"/>
<text text-anchor="middle" x="179.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkActionable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M225.67,-71.7C216.22,-60.85 204.08,-46.92 194.66,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node8" class="node">
<title>implements_2</title>
<g id="a_node8"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="353.12,-36 252.38,-36 252.38,0 353.12,0 353.12,-36"/>
<text text-anchor="middle" x="302.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge7" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M256.08,-71.7C265.69,-60.85 278.02,-46.92 287.6,-36.1"/>
</g>
<!-- implements_3 -->
<g id="node9" class="node">
<title>implements_3</title>
<g id="a_node9"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="521.88,-36 371.62,-36 371.62,0 521.88,0 521.88,-36"/>
<text text-anchor="middle" x="446.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_3 -->
<g id="edge8" class="edge">
<title>this&#45;&#45;implements_3</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M292.2,-71.52C323.78,-60.79 364.07,-47.09 395.6,-36.38"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Button">
<path fill="none" stroke="black" d="M265.25,-180C265.25,-180 216.25,-180 216.25,-180 210.25,-180 204.25,-174 204.25,-168 204.25,-168 204.25,-156 204.25,-156 204.25,-150 210.25,-144 216.25,-144 216.25,-144 265.25,-144 265.25,-144 271.25,-144 277.25,-150 277.25,-156 277.25,-156 277.25,-168 277.25,-168 277.25,-174 271.25,-180 265.25,-180"/>
<text text-anchor="middle" x="240.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkButton</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge4" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M240.75,-143.7C240.75,-132.85 240.75,-118.92 240.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M266.75,-252C266.75,-252 214.75,-252 214.75,-252 208.75,-252 202.75,-246 202.75,-240 202.75,-240 202.75,-228 202.75,-228 202.75,-222 208.75,-216 214.75,-216 214.75,-216 266.75,-216 266.75,-216 272.75,-216 278.75,-222 278.75,-228 278.75,-228 278.75,-240 278.75,-240 278.75,-246 272.75,-252 266.75,-252"/>
<text text-anchor="middle" x="240.75" y="-227.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge3" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M240.75,-215.7C240.75,-204.85 240.75,-190.92 240.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M289.25,-324C289.25,-324 192.25,-324 192.25,-324 186.25,-324 180.25,-318 180.25,-312 180.25,-312 180.25,-300 180.25,-300 180.25,-294 186.25,-288 192.25,-288 192.25,-288 289.25,-288 289.25,-288 295.25,-288 301.25,-294 301.25,-300 301.25,-300 301.25,-312 301.25,-312 301.25,-318 295.25,-324 289.25,-324"/>
<text text-anchor="middle" x="240.75" y="-299.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge2" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M240.75,-287.7C240.75,-276.85 240.75,-262.92 240.75,-252.1"/>
</g>
<!-- ancestor_3 -->
<g id="node5" class="node">
<title>ancestor_3</title>
<g id="a_node5"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M259.62,-396C259.62,-396 221.88,-396 221.88,-396 215.88,-396 209.88,-390 209.88,-384 209.88,-384 209.88,-372 209.88,-372 209.88,-366 215.88,-360 221.88,-360 221.88,-360 259.62,-360 259.62,-360 265.62,-360 271.62,-366 271.62,-372 271.62,-372 271.62,-384 271.62,-384 271.62,-390 265.62,-396 259.62,-396"/>
<text text-anchor="middle" x="240.75" y="-371.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_3&#45;&#45;ancestor_2 -->
<g id="edge1" class="edge">
<title>ancestor_3&#45;&#45;ancestor_2</title>
<path fill="none" stroke="black" d="M240.75,-359.7C240.75,-348.85 240.75,-334.92 240.75,-324.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.PreviousItemButton.new.html">clapper_gtk_previous_item_button_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkPreviousItemButton</code> to play previous <code>ClapperMediaItem</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (12)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_can_shrink.html">gtk_button_get_can_shrink</a></h6>
<div class="docblock">
<p>Retrieves whether the button can be smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_child.html">gtk_button_get_child</a></h6>
<div class="docblock">
<p>Gets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_has_frame.html">gtk_button_get_has_frame</a></h6>
<div class="docblock">
<p>Returns whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_icon_name.html">gtk_button_get_icon_name</a></h6>
<div class="docblock">
<p>Returns the icon name of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_label.html">gtk_button_get_label</a></h6>
<div class="docblock">
<p>Fetches the text from the label of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_use_underline.html">gtk_button_get_use_underline</a></h6>
<div class="docblock">
<p>Gets whether underlines are interpreted as&nbsp;mnemonics.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_can_shrink.html">gtk_button_set_can_shrink</a></h6>
<div class="docblock">
<p>Sets whether the button size can be smaller than the natural size of
its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_child.html">gtk_button_set_child</a></h6>
<div class="docblock">
<p>Sets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_has_frame.html">gtk_button_set_has_frame</a></h6>
<div class="docblock">
<p>Sets the style of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_icon_name.html">gtk_button_set_icon_name</a></h6>
<div class="docblock">
<p>Adds a <code>GtkImage</code> with the given icon name as a&nbsp;child.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_label.html">gtk_button_set_label</a></h6>
<div class="docblock">
<p>Sets the text of the label of the button to <code>label</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_use_underline.html">gtk_button_set_use_underline</a></h6>
<div class="docblock">
<p>Sets whether to use underlines as&nbsp;mnemonics.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_name.html">gtk_actionable_get_action_name</a></h6>
<div class="docblock">
<p>Gets the action name for <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_target_value.html">gtk_actionable_get_action_target_value</a></h6>
<div class="docblock">
<p>Gets the current target value of <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_name.html">gtk_actionable_set_action_name</a></h6>
<div class="docblock">
<p>Specifies the name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target.html">gtk_actionable_set_action_target</a></h6>
<div class="docblock">
<p>Sets the target of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target_value.html">gtk_actionable_set_action_target_value</a></h6>
<div class="docblock">
<p>Sets the target value of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_detailed_action_name.html">gtk_actionable_set_detailed_action_name</a></h6>
<div class="docblock">
<p>Sets the action-name and associated string target value of an
actionable&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.can-shrink.html">Gtk.Button:can-shrink</a></h6>
<div class="docblock">
<p>Whether the size of the button can be made smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.child.html">Gtk.Button:child</a></h6>
<div class="docblock">
<p>The child&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.has-frame.html">Gtk.Button:has-frame</a></h6>
<div class="docblock">
<p>Whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.icon-name.html">Gtk.Button:icon-name</a></h6>
<div class="docblock">
<p>The name of the icon used to automatically populate the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.label.html">Gtk.Button:label</a></h6>
<div class="docblock">
<p>Text of the label inside the button, if the button contains a label&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.use-underline.html">Gtk.Button:use-underline</a></h6>
<div class="docblock">
<p>If set, an underline in the text indicates that the following character is
to be used as&nbsp;mnemonic.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-name.html">Gtk.Actionable:action-name</a></h6>
<div class="docblock">
<p>The name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-target.html">Gtk.Actionable:action-target</a></h6>
<div class="docblock">
<p>The target value of the actionable widget&#8217;s&nbsp;action.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.activate.html">GtkButton::activate</a></h6>
<div class="docblock">
<p>Emitted to animate press then&nbsp;release.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.clicked.html">GtkButton::clicked</a></h6>
<div class="docblock">
<p>Emitted when the button has been activated (pressed and&nbsp;released).</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkPreviousItemButtonClass {
GtkButtonClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkButtonClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,904 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.SeekBar</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.SeekBar"/>
<meta property="og:description" content="Reference for ClapperGtk.SeekBar"/>
<meta name="twitter:title" content="ClapperGtk.SeekBar"/>
<meta name="twitter:description" content="Reference for ClapperGtk.SeekBar"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.SeekBar.html#description">SeekBar</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.SeekBar.new.html">new</a>
</div>
</div>
<div class="section">
<h5>Instance methods</h5>
<div class="links">
<a class="method" href="method.SeekBar.get_reveal_labels.html">get_reveal_labels</a>
<a class="method" href="method.SeekBar.get_seek_method.html">get_seek_method</a>
<a class="method" href="method.SeekBar.set_reveal_labels.html">set_reveal_labels</a>
<a class="method" href="method.SeekBar.set_seek_method.html">set_seek_method</a>
</div>
</div>
<div class="section">
<h5>Properties</h5>
<div class="links">
<a class="property" href="property.SeekBar.reveal-labels.html">reveal-labels</a>
<a class="property" href="property.SeekBar.seek-method.html">seek-method</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>SeekBar</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-seek-bar.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.SeekBar : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A bar for seeking and displaying playback&nbsp;position.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.SeekBar">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="403pt" height="332pt"
viewBox="0.00 0.00 402.88 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkSeekBar">
<path fill="none" stroke="black" d="M226.12,-108C226.12,-108 125.38,-108 125.38,-108 119.38,-108 113.38,-102 113.38,-96 113.38,-96 113.38,-84 113.38,-84 113.38,-78 119.38,-72 125.38,-72 125.38,-72 226.12,-72 226.12,-72 232.12,-72 238.12,-78 238.12,-84 238.12,-84 238.12,-96 238.12,-96 238.12,-102 232.12,-108 226.12,-108"/>
<text text-anchor="middle" x="175.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkSeekBar</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node5" class="node">
<title>implements_0</title>
<g id="a_node5"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge4" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M145.28,-71.52C126.51,-60.74 102.53,-46.99 83.83,-36.26"/>
</g>
<!-- implements_1 -->
<g id="node6" class="node">
<title>implements_1</title>
<g id="a_node6"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="226.12,-36 125.38,-36 125.38,0 226.12,0 226.12,-36"/>
<text text-anchor="middle" x="175.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M175.75,-71.7C175.75,-60.85 175.75,-46.92 175.75,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node7" class="node">
<title>implements_2</title>
<g id="a_node7"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="394.88,-36 244.62,-36 244.62,0 394.88,0 394.88,-36"/>
<text text-anchor="middle" x="319.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M211.72,-71.52C233.87,-60.74 262.17,-46.99 284.24,-36.26"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M201.75,-180C201.75,-180 149.75,-180 149.75,-180 143.75,-180 137.75,-174 137.75,-168 137.75,-168 137.75,-156 137.75,-156 137.75,-150 143.75,-144 149.75,-144 149.75,-144 201.75,-144 201.75,-144 207.75,-144 213.75,-150 213.75,-156 213.75,-156 213.75,-168 213.75,-168 213.75,-174 207.75,-180 201.75,-180"/>
<text text-anchor="middle" x="175.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge3" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M175.75,-143.7C175.75,-132.85 175.75,-118.92 175.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M224.25,-252C224.25,-252 127.25,-252 127.25,-252 121.25,-252 115.25,-246 115.25,-240 115.25,-240 115.25,-228 115.25,-228 115.25,-222 121.25,-216 127.25,-216 127.25,-216 224.25,-216 224.25,-216 230.25,-216 236.25,-222 236.25,-228 236.25,-228 236.25,-240 236.25,-240 236.25,-246 230.25,-252 224.25,-252"/>
<text text-anchor="middle" x="175.75" y="-227.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge2" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M175.75,-215.7C175.75,-204.85 175.75,-190.92 175.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M194.62,-324C194.62,-324 156.88,-324 156.88,-324 150.88,-324 144.88,-318 144.88,-312 144.88,-312 144.88,-300 144.88,-300 144.88,-294 150.88,-288 156.88,-288 156.88,-288 194.62,-288 194.62,-288 200.62,-288 206.62,-294 206.62,-300 206.62,-300 206.62,-312 206.62,-312 206.62,-318 200.62,-324 194.62,-324"/>
<text text-anchor="middle" x="175.75" y="-299.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge1" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M175.75,-287.7C175.75,-276.85 175.75,-262.92 175.75,-252.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.SeekBar.new.html">clapper_gtk_seek_bar_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkSeekBar</code> instance.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="method.SeekBar.get_reveal_labels.html">clapper_gtk_seek_bar_get_reveal_labels</a></h6>
<div class="docblock">
<p>Get whether the position and duration labels are going to be&nbsp;revealed.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.SeekBar.get_seek_method.html">clapper_gtk_seek_bar_get_seek_method</a></h6>
<div class="docblock">
<p>Get <code>ClapperPlayerSeekMethod</code> used when seeking with seek&nbsp;bar.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.SeekBar.set_reveal_labels.html">clapper_gtk_seek_bar_set_reveal_labels</a></h6>
<div class="docblock">
<p>Set whether the position and duration labels should be&nbsp;revealed.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.SeekBar.set_seek_method.html">clapper_gtk_seek_bar_set_seek_method</a></h6>
<div class="docblock">
<p>Set <code>ClapperPlayerSeekMethod</code> to use when seeking with seek&nbsp;bar.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="property.SeekBar.reveal-labels.html">ClapperGtk.SeekBar:reveal-labels</a></h6>
<div class="docblock">
<p>Reveal state of the position and duration&nbsp;labels.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.SeekBar.seek-method.html">ClapperGtk.SeekBar:seek-method</a></h6>
<div class="docblock">
<p>Method used for&nbsp;seeking.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkSeekBarClass {
GtkWidgetClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkWidgetClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,938 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TitleLabel</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TitleLabel"/>
<meta property="og:description" content="Reference for ClapperGtk.TitleLabel"/>
<meta name="twitter:title" content="ClapperGtk.TitleLabel"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TitleLabel"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.TitleLabel.html#description">TitleLabel</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.TitleLabel.new.html">new</a>
</div>
</div>
<div class="section">
<h5>Instance methods</h5>
<div class="links">
<a class="method" href="method.TitleLabel.get_current_title.html">get_current_title</a>
<a class="method" href="method.TitleLabel.get_fallback_to_uri.html">get_fallback_to_uri</a>
<a class="method" href="method.TitleLabel.get_media_item.html">get_media_item</a>
<a class="method" href="method.TitleLabel.set_fallback_to_uri.html">set_fallback_to_uri</a>
<a class="method" href="method.TitleLabel.set_media_item.html">set_media_item</a>
</div>
</div>
<div class="section">
<h5>Properties</h5>
<div class="links">
<a class="property" href="property.TitleLabel.current-title.html">current-title</a>
<a class="property" href="property.TitleLabel.fallback-to-uri.html">fallback-to-uri</a>
<a class="property" href="property.TitleLabel.media-item.html">media-item</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>TitleLabel</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-label.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.TitleLabel : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A label showing an up to date title of media&nbsp;item.</p>
<p>By default <code>ClapperGtkTitleLabel</code> will automatically show title
of <a href="javascript:void(0)" data-namespace="Clapper" data-link="property.Queue.current-item.html" class="external"><code>ClapperQueue:current-item</code></a> when placed within
<a href="class.Video.html"><code>ClapperGtkVideo</code></a> widget&nbsp;hierarchy.</p>
<p>Setting <a href="property.TitleLabel.media-item.html"><code>ClapperGtkTitleLabel:media-item</code></a> property will
make it show title of that particular <a href="javascript:void(0)" data-namespace="Clapper" data-link="class.MediaItem.html" class="external"><code>ClapperMediaItem</code></a>
instead. Providing an item to read title from also allows using
this <a href="javascript:void(0)" data-namespace="Gtk" data-link="class.Widget.html" class="external"><code>GtkWidget</code></a> outside of <a href="class.Video.html"><code>ClapperGtkVideo</code></a>.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.TitleLabel">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="403pt" height="332pt"
viewBox="0.00 0.00 402.88 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkTitleLabel">
<path fill="none" stroke="black" d="M231.38,-108C231.38,-108 120.12,-108 120.12,-108 114.12,-108 108.12,-102 108.12,-96 108.12,-96 108.12,-84 108.12,-84 108.12,-78 114.12,-72 120.12,-72 120.12,-72 231.38,-72 231.38,-72 237.38,-72 243.38,-78 243.38,-84 243.38,-84 243.38,-96 243.38,-96 243.38,-102 237.38,-108 231.38,-108"/>
<text text-anchor="middle" x="175.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkTitleLabel</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node5" class="node">
<title>implements_0</title>
<g id="a_node5"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge4" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M145.28,-71.52C126.51,-60.74 102.53,-46.99 83.83,-36.26"/>
</g>
<!-- implements_1 -->
<g id="node6" class="node">
<title>implements_1</title>
<g id="a_node6"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="226.12,-36 125.38,-36 125.38,0 226.12,0 226.12,-36"/>
<text text-anchor="middle" x="175.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M175.75,-71.7C175.75,-60.85 175.75,-46.92 175.75,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node7" class="node">
<title>implements_2</title>
<g id="a_node7"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="394.88,-36 244.62,-36 244.62,0 394.88,0 394.88,-36"/>
<text text-anchor="middle" x="319.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M211.72,-71.52C233.87,-60.74 262.17,-46.99 284.24,-36.26"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M201.75,-180C201.75,-180 149.75,-180 149.75,-180 143.75,-180 137.75,-174 137.75,-168 137.75,-168 137.75,-156 137.75,-156 137.75,-150 143.75,-144 149.75,-144 149.75,-144 201.75,-144 201.75,-144 207.75,-144 213.75,-150 213.75,-156 213.75,-156 213.75,-168 213.75,-168 213.75,-174 207.75,-180 201.75,-180"/>
<text text-anchor="middle" x="175.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge3" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M175.75,-143.7C175.75,-132.85 175.75,-118.92 175.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M224.25,-252C224.25,-252 127.25,-252 127.25,-252 121.25,-252 115.25,-246 115.25,-240 115.25,-240 115.25,-228 115.25,-228 115.25,-222 121.25,-216 127.25,-216 127.25,-216 224.25,-216 224.25,-216 230.25,-216 236.25,-222 236.25,-228 236.25,-228 236.25,-240 236.25,-240 236.25,-246 230.25,-252 224.25,-252"/>
<text text-anchor="middle" x="175.75" y="-227.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge2" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M175.75,-215.7C175.75,-204.85 175.75,-190.92 175.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M194.62,-324C194.62,-324 156.88,-324 156.88,-324 150.88,-324 144.88,-318 144.88,-312 144.88,-312 144.88,-300 144.88,-300 144.88,-294 150.88,-288 156.88,-288 156.88,-288 194.62,-288 194.62,-288 200.62,-288 206.62,-294 206.62,-300 206.62,-300 206.62,-312 206.62,-312 206.62,-318 200.62,-324 194.62,-324"/>
<text text-anchor="middle" x="175.75" y="-299.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge1" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M175.75,-287.7C175.75,-276.85 175.75,-262.92 175.75,-252.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.TitleLabel.new.html">clapper_gtk_title_label_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkTitleLabel</code> instance.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="method.TitleLabel.get_current_title.html">clapper_gtk_title_label_get_current_title</a></h6>
<div class="docblock">
<p>Get currently displayed title by <code>label</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.TitleLabel.get_fallback_to_uri.html">clapper_gtk_title_label_get_fallback_to_uri</a></h6>
<div class="docblock">
<p>Get whether a <code>ClapperMediaItem:uri</code> property is going
be displayed as a label text when no other title could be&nbsp;determined.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.TitleLabel.get_media_item.html">clapper_gtk_title_label_get_media_item</a></h6>
<div class="docblock">
<p>Get currently set media item to display title&nbsp;of.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.TitleLabel.set_fallback_to_uri.html">clapper_gtk_title_label_set_fallback_to_uri</a></h6>
<div class="docblock">
<p>Set whether a <code>ClapperMediaItem:uri</code> property should
be displayed as a label text when no other title could be&nbsp;determined.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.TitleLabel.set_media_item.html">clapper_gtk_title_label_set_media_item</a></h6>
<div class="docblock">
<p>Set a media item to display title of as label. When set to <code>NULL</code>,
<code>label</code> will use default behavior (showing title of current queue&nbsp;item).</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="property.TitleLabel.current-title.html">ClapperGtk.TitleLabel:current-title</a></h6>
<div class="docblock">
<p>Currently displayed&nbsp;title.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.TitleLabel.fallback-to-uri.html">ClapperGtk.TitleLabel:fallback-to-uri</a></h6>
<div class="docblock">
<p>When title cannot be determined, show <span class="caps">URI</span>&nbsp;instead.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.TitleLabel.media-item.html">ClapperGtk.TitleLabel:media-item</a></h6>
<div class="docblock">
<p>Currently set media item to display title&nbsp;of.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkTitleLabelClass {
GtkWidgetClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkWidgetClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,977 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ToggleFullscreenButton</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.ToggleFullscreenButton"/>
<meta property="og:description" content="Reference for ClapperGtk.ToggleFullscreenButton"/>
<meta name="twitter:title" content="ClapperGtk.ToggleFullscreenButton"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ToggleFullscreenButton"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.ToggleFullscreenButton.html#description">ToggleFullscreenButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.ToggleFullscreenButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>ToggleFullscreenButton</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-fullscreen-button.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.ToggleFullscreenButton : Gtk.Button
implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A <code>GtkButton</code> for toggling fullscreen&nbsp;state.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.ToggleFullscreenButton">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="530pt" height="404pt"
viewBox="0.00 0.00 529.88 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkToggleFullscreenButton">
<path fill="none" stroke="black" d="M333.5,-108C333.5,-108 148,-108 148,-108 142,-108 136,-102 136,-96 136,-96 136,-84 136,-84 136,-78 142,-72 148,-72 148,-72 333.5,-72 333.5,-72 339.5,-72 345.5,-78 345.5,-84 345.5,-84 345.5,-96 345.5,-96 345.5,-102 339.5,-108 333.5,-108"/>
<text text-anchor="middle" x="240.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkToggleFullscreenButton</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node6" class="node">
<title>implements_0</title>
<g id="a_node6"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M194.04,-71.52C165.38,-60.79 128.8,-47.09 100.18,-36.38"/>
</g>
<!-- implements_1 -->
<g id="node7" class="node">
<title>implements_1</title>
<g id="a_node7"><a xlink:title="Gtk.Actionable">
<polygon fill="none" stroke="black" points="234.25,-36 125.25,-36 125.25,0 234.25,0 234.25,-36"/>
<text text-anchor="middle" x="179.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkActionable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M225.67,-71.7C216.22,-60.85 204.08,-46.92 194.66,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node8" class="node">
<title>implements_2</title>
<g id="a_node8"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="353.12,-36 252.38,-36 252.38,0 353.12,0 353.12,-36"/>
<text text-anchor="middle" x="302.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge7" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M256.08,-71.7C265.69,-60.85 278.02,-46.92 287.6,-36.1"/>
</g>
<!-- implements_3 -->
<g id="node9" class="node">
<title>implements_3</title>
<g id="a_node9"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="521.88,-36 371.62,-36 371.62,0 521.88,0 521.88,-36"/>
<text text-anchor="middle" x="446.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_3 -->
<g id="edge8" class="edge">
<title>this&#45;&#45;implements_3</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M292.2,-71.52C323.78,-60.79 364.07,-47.09 395.6,-36.38"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Button">
<path fill="none" stroke="black" d="M265.25,-180C265.25,-180 216.25,-180 216.25,-180 210.25,-180 204.25,-174 204.25,-168 204.25,-168 204.25,-156 204.25,-156 204.25,-150 210.25,-144 216.25,-144 216.25,-144 265.25,-144 265.25,-144 271.25,-144 277.25,-150 277.25,-156 277.25,-156 277.25,-168 277.25,-168 277.25,-174 271.25,-180 265.25,-180"/>
<text text-anchor="middle" x="240.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkButton</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge4" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M240.75,-143.7C240.75,-132.85 240.75,-118.92 240.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M266.75,-252C266.75,-252 214.75,-252 214.75,-252 208.75,-252 202.75,-246 202.75,-240 202.75,-240 202.75,-228 202.75,-228 202.75,-222 208.75,-216 214.75,-216 214.75,-216 266.75,-216 266.75,-216 272.75,-216 278.75,-222 278.75,-228 278.75,-228 278.75,-240 278.75,-240 278.75,-246 272.75,-252 266.75,-252"/>
<text text-anchor="middle" x="240.75" y="-227.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge3" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M240.75,-215.7C240.75,-204.85 240.75,-190.92 240.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M289.25,-324C289.25,-324 192.25,-324 192.25,-324 186.25,-324 180.25,-318 180.25,-312 180.25,-312 180.25,-300 180.25,-300 180.25,-294 186.25,-288 192.25,-288 192.25,-288 289.25,-288 289.25,-288 295.25,-288 301.25,-294 301.25,-300 301.25,-300 301.25,-312 301.25,-312 301.25,-318 295.25,-324 289.25,-324"/>
<text text-anchor="middle" x="240.75" y="-299.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge2" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M240.75,-287.7C240.75,-276.85 240.75,-262.92 240.75,-252.1"/>
</g>
<!-- ancestor_3 -->
<g id="node5" class="node">
<title>ancestor_3</title>
<g id="a_node5"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M259.62,-396C259.62,-396 221.88,-396 221.88,-396 215.88,-396 209.88,-390 209.88,-384 209.88,-384 209.88,-372 209.88,-372 209.88,-366 215.88,-360 221.88,-360 221.88,-360 259.62,-360 259.62,-360 265.62,-360 271.62,-366 271.62,-372 271.62,-372 271.62,-384 271.62,-384 271.62,-390 265.62,-396 259.62,-396"/>
<text text-anchor="middle" x="240.75" y="-371.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_3&#45;&#45;ancestor_2 -->
<g id="edge1" class="edge">
<title>ancestor_3&#45;&#45;ancestor_2</title>
<path fill="none" stroke="black" d="M240.75,-359.7C240.75,-348.85 240.75,-334.92 240.75,-324.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.ToggleFullscreenButton.new.html">clapper_gtk_toggle_fullscreen_button_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkToggleFullscreenButton</code> instance.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (12)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_can_shrink.html">gtk_button_get_can_shrink</a></h6>
<div class="docblock">
<p>Retrieves whether the button can be smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_child.html">gtk_button_get_child</a></h6>
<div class="docblock">
<p>Gets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_has_frame.html">gtk_button_get_has_frame</a></h6>
<div class="docblock">
<p>Returns whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_icon_name.html">gtk_button_get_icon_name</a></h6>
<div class="docblock">
<p>Returns the icon name of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_label.html">gtk_button_get_label</a></h6>
<div class="docblock">
<p>Fetches the text from the label of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_use_underline.html">gtk_button_get_use_underline</a></h6>
<div class="docblock">
<p>Gets whether underlines are interpreted as&nbsp;mnemonics.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_can_shrink.html">gtk_button_set_can_shrink</a></h6>
<div class="docblock">
<p>Sets whether the button size can be smaller than the natural size of
its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_child.html">gtk_button_set_child</a></h6>
<div class="docblock">
<p>Sets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_has_frame.html">gtk_button_set_has_frame</a></h6>
<div class="docblock">
<p>Sets the style of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_icon_name.html">gtk_button_set_icon_name</a></h6>
<div class="docblock">
<p>Adds a <code>GtkImage</code> with the given icon name as a&nbsp;child.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_label.html">gtk_button_set_label</a></h6>
<div class="docblock">
<p>Sets the text of the label of the button to <code>label</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_use_underline.html">gtk_button_set_use_underline</a></h6>
<div class="docblock">
<p>Sets whether to use underlines as&nbsp;mnemonics.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_name.html">gtk_actionable_get_action_name</a></h6>
<div class="docblock">
<p>Gets the action name for <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_target_value.html">gtk_actionable_get_action_target_value</a></h6>
<div class="docblock">
<p>Gets the current target value of <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_name.html">gtk_actionable_set_action_name</a></h6>
<div class="docblock">
<p>Specifies the name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target.html">gtk_actionable_set_action_target</a></h6>
<div class="docblock">
<p>Sets the target of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target_value.html">gtk_actionable_set_action_target_value</a></h6>
<div class="docblock">
<p>Sets the target value of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_detailed_action_name.html">gtk_actionable_set_detailed_action_name</a></h6>
<div class="docblock">
<p>Sets the action-name and associated string target value of an
actionable&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.can-shrink.html">Gtk.Button:can-shrink</a></h6>
<div class="docblock">
<p>Whether the size of the button can be made smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.child.html">Gtk.Button:child</a></h6>
<div class="docblock">
<p>The child&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.has-frame.html">Gtk.Button:has-frame</a></h6>
<div class="docblock">
<p>Whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.icon-name.html">Gtk.Button:icon-name</a></h6>
<div class="docblock">
<p>The name of the icon used to automatically populate the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.label.html">Gtk.Button:label</a></h6>
<div class="docblock">
<p>Text of the label inside the button, if the button contains a label&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.use-underline.html">Gtk.Button:use-underline</a></h6>
<div class="docblock">
<p>If set, an underline in the text indicates that the following character is
to be used as&nbsp;mnemonic.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-name.html">Gtk.Actionable:action-name</a></h6>
<div class="docblock">
<p>The name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-target.html">Gtk.Actionable:action-target</a></h6>
<div class="docblock">
<p>The target value of the actionable widget&#8217;s&nbsp;action.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.activate.html">GtkButton::activate</a></h6>
<div class="docblock">
<p>Emitted to animate press then&nbsp;release.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.clicked.html">GtkButton::clicked</a></h6>
<div class="docblock">
<p>Emitted when the button has been activated (pressed and&nbsp;released).</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkToggleFullscreenButtonClass {
GtkButtonClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkButtonClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,977 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TogglePlayButton</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TogglePlayButton"/>
<meta property="og:description" content="Reference for ClapperGtk.TogglePlayButton"/>
<meta name="twitter:title" content="ClapperGtk.TogglePlayButton"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TogglePlayButton"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.TogglePlayButton.html#description">TogglePlayButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.TogglePlayButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">ClapperGtk</a><span class="sep" role="presentation"></span>TogglePlayButton</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-play-button.c#L19">[src]</a>
</h4>
<pre><code>final class ClapperGtk.TogglePlayButton : Gtk.Button
implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}</pre></code>
<div class="docblock">
<p>A <code>GtkButton</code> for toggling play/pause of&nbsp;playback.</p>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for ClapperGtk.TogglePlayButton">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="530pt" height="404pt"
viewBox="0.00 0.00 529.88 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperGtkTogglePlayButton">
<path fill="none" stroke="black" d="M317.38,-108C317.38,-108 164.12,-108 164.12,-108 158.12,-108 152.12,-102 152.12,-96 152.12,-96 152.12,-84 152.12,-84 152.12,-78 158.12,-72 164.12,-72 164.12,-72 317.38,-72 317.38,-72 323.38,-72 329.38,-78 329.38,-84 329.38,-84 329.38,-96 329.38,-96 329.38,-102 323.38,-108 317.38,-108"/>
<text text-anchor="middle" x="240.75" y="-83.83" font-family="Times,serif" font-size="14.00">ClapperGtkTogglePlayButton</text>
</a>
</g>
</g>
<!-- implements_0 -->
<g id="node6" class="node">
<title>implements_0</title>
<g id="a_node6"><a xlink:title="Gtk.Accessible">
<polygon fill="none" stroke="black" points="107.5,-36 0,-36 0,0 107.5,0 107.5,-36"/>
<text text-anchor="middle" x="53.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkAccessible</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_0 -->
<g id="edge5" class="edge">
<title>this&#45;&#45;implements_0</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M194.04,-71.52C165.38,-60.79 128.8,-47.09 100.18,-36.38"/>
</g>
<!-- implements_1 -->
<g id="node7" class="node">
<title>implements_1</title>
<g id="a_node7"><a xlink:title="Gtk.Actionable">
<polygon fill="none" stroke="black" points="234.25,-36 125.25,-36 125.25,0 234.25,0 234.25,-36"/>
<text text-anchor="middle" x="179.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkActionable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_1 -->
<g id="edge6" class="edge">
<title>this&#45;&#45;implements_1</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M225.67,-71.7C216.22,-60.85 204.08,-46.92 194.66,-36.1"/>
</g>
<!-- implements_2 -->
<g id="node8" class="node">
<title>implements_2</title>
<g id="a_node8"><a xlink:title="Gtk.Buildable">
<polygon fill="none" stroke="black" points="353.12,-36 252.38,-36 252.38,0 353.12,0 353.12,-36"/>
<text text-anchor="middle" x="302.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkBuildable</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_2 -->
<g id="edge7" class="edge">
<title>this&#45;&#45;implements_2</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M256.08,-71.7C265.69,-60.85 278.02,-46.92 287.6,-36.1"/>
</g>
<!-- implements_3 -->
<g id="node9" class="node">
<title>implements_3</title>
<g id="a_node9"><a xlink:title="Gtk.ConstraintTarget">
<polygon fill="none" stroke="black" points="521.88,-36 371.62,-36 371.62,0 521.88,0 521.88,-36"/>
<text text-anchor="middle" x="446.75" y="-14.45" font-family="sans-serif" font-size="14.00">GtkConstraintTarget</text>
</a>
</g>
</g>
<!-- this&#45;&#45;implements_3 -->
<g id="edge8" class="edge">
<title>this&#45;&#45;implements_3</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M292.2,-71.52C323.78,-60.79 364.07,-47.09 395.6,-36.38"/>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gtk.Button">
<path fill="none" stroke="black" d="M265.25,-180C265.25,-180 216.25,-180 216.25,-180 210.25,-180 204.25,-174 204.25,-168 204.25,-168 204.25,-156 204.25,-156 204.25,-150 210.25,-144 216.25,-144 216.25,-144 265.25,-144 265.25,-144 271.25,-144 277.25,-150 277.25,-156 277.25,-156 277.25,-168 277.25,-168 277.25,-174 271.25,-180 265.25,-180"/>
<text text-anchor="middle" x="240.75" y="-155.82" font-family="Times,serif" font-size="14.00">GtkButton</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge4" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M240.75,-143.7C240.75,-132.85 240.75,-118.92 240.75,-108.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="Gtk.Widget">
<path fill="none" stroke="black" d="M266.75,-252C266.75,-252 214.75,-252 214.75,-252 208.75,-252 202.75,-246 202.75,-240 202.75,-240 202.75,-228 202.75,-228 202.75,-222 208.75,-216 214.75,-216 214.75,-216 266.75,-216 266.75,-216 272.75,-216 278.75,-222 278.75,-228 278.75,-228 278.75,-240 278.75,-240 278.75,-246 272.75,-252 266.75,-252"/>
<text text-anchor="middle" x="240.75" y="-227.82" font-family="Times,serif" font-size="14.00">GtkWidget</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge3" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M240.75,-215.7C240.75,-204.85 240.75,-190.92 240.75,-180.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M289.25,-324C289.25,-324 192.25,-324 192.25,-324 186.25,-324 180.25,-318 180.25,-312 180.25,-312 180.25,-300 180.25,-300 180.25,-294 186.25,-288 192.25,-288 192.25,-288 289.25,-288 289.25,-288 295.25,-288 301.25,-294 301.25,-300 301.25,-300 301.25,-312 301.25,-312 301.25,-318 295.25,-324 289.25,-324"/>
<text text-anchor="middle" x="240.75" y="-299.82" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge2" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M240.75,-287.7C240.75,-276.85 240.75,-262.92 240.75,-252.1"/>
</g>
<!-- ancestor_3 -->
<g id="node5" class="node">
<title>ancestor_3</title>
<g id="a_node5"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M259.62,-396C259.62,-396 221.88,-396 221.88,-396 215.88,-396 209.88,-390 209.88,-384 209.88,-384 209.88,-372 209.88,-372 209.88,-366 215.88,-360 221.88,-360 221.88,-360 259.62,-360 259.62,-360 265.62,-360 271.62,-366 271.62,-372 271.62,-372 271.62,-384 271.62,-384 271.62,-390 265.62,-396 259.62,-396"/>
<text text-anchor="middle" x="240.75" y="-371.82" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_3&#45;&#45;ancestor_2 -->
<g id="edge1" class="edge">
<title>ancestor_3&#45;&#45;ancestor_2</title>
<path fill="none" stroke="black" d="M240.75,-359.7C240.75,-348.85 240.75,-334.92 240.75,-324.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper implements">
<h4 id="implements">
Implements
<a href="#implements" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a></li>
<li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.ConstraintTarget.html" data-namespace="Gtk">GtkConstraintTarget</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.TogglePlayButton.new.html">clapper_gtk_toggle_play_button_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperGtkTogglePlayButton</code> instance.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (12)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_can_shrink.html">gtk_button_get_can_shrink</a></h6>
<div class="docblock">
<p>Retrieves whether the button can be smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_child.html">gtk_button_get_child</a></h6>
<div class="docblock">
<p>Gets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_has_frame.html">gtk_button_get_has_frame</a></h6>
<div class="docblock">
<p>Returns whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_icon_name.html">gtk_button_get_icon_name</a></h6>
<div class="docblock">
<p>Returns the icon name of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_label.html">gtk_button_get_label</a></h6>
<div class="docblock">
<p>Fetches the text from the label of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.get_use_underline.html">gtk_button_get_use_underline</a></h6>
<div class="docblock">
<p>Gets whether underlines are interpreted as&nbsp;mnemonics.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_can_shrink.html">gtk_button_set_can_shrink</a></h6>
<div class="docblock">
<p>Sets whether the button size can be smaller than the natural size of
its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_child.html">gtk_button_set_child</a></h6>
<div class="docblock">
<p>Sets the child widget of <code>button</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_has_frame.html">gtk_button_set_has_frame</a></h6>
<div class="docblock">
<p>Sets the style of the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_icon_name.html">gtk_button_set_icon_name</a></h6>
<div class="docblock">
<p>Adds a <code>GtkImage</code> with the given icon name as a&nbsp;child.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_label.html">gtk_button_set_label</a></h6>
<div class="docblock">
<p>Sets the text of the label of the button to <code>label</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Button.set_use_underline.html">gtk_button_set_use_underline</a></h6>
<div class="docblock">
<p>Sets whether to use underlines as&nbsp;mnemonics.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (164)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Widget.html#methods" data-namespace="Gtk">GtkWidget</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (20)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.announce.html">gtk_accessible_announce</a></h6>
<div class="docblock">
<p>Requests the user&#8217;s screen reader to announce the given&nbsp;message.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_parent.html">gtk_accessible_get_accessible_parent</a></h6>
<div class="docblock">
<p>Retrieves the accessible parent for an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_accessible_role.html">gtk_accessible_get_accessible_role</a></h6>
<div class="docblock">
<p>Retrieves the accessible role of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_at_context.html">gtk_accessible_get_at_context</a></h6>
<div class="docblock">
<p>Retrieves the implementation for the given accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_bounds.html">gtk_accessible_get_bounds</a></h6>
<div class="docblock">
<p>Queries the coordinates and dimensions of this&nbsp;accessible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_first_accessible_child.html">gtk_accessible_get_first_accessible_child</a></h6>
<div class="docblock">
<p>Retrieves the first accessible child of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_next_accessible_sibling.html">gtk_accessible_get_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Retrieves the next accessible sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.get_platform_state.html">gtk_accessible_get_platform_state</a></h6>
<div class="docblock">
<p>Queries a platform state, such as&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_property.html">gtk_accessible_reset_property</a></h6>
<div class="docblock">
<p>Resets the accessible property to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_relation.html">gtk_accessible_reset_relation</a></h6>
<div class="docblock">
<p>Resets the accessible relation to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.reset_state.html">gtk_accessible_reset_state</a></h6>
<div class="docblock">
<p>Resets the accessible state to its default&nbsp;value.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.set_accessible_parent.html">gtk_accessible_set_accessible_parent</a></h6>
<div class="docblock">
<p>Sets the parent and sibling of an accessible&nbsp;object.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_next_accessible_sibling.html">gtk_accessible_update_next_accessible_sibling</a></h6>
<div class="docblock">
<p>Updates the next accessible&nbsp;sibling.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_platform_state.html">gtk_accessible_update_platform_state</a></h6>
<div class="docblock">
<p>Informs ATs that the platform state has&nbsp;changed.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property.html">gtk_accessible_update_property</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_property_value.html">gtk_accessible_update_property_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;properties.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation.html">gtk_accessible_update_relation</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_relation_value.html">gtk_accessible_update_relation_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;relations.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state.html">gtk_accessible_update_state</a></h6>
<div class="docblock">
<p>Updates a list of accessible&nbsp;states.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Accessible.update_state_value.html">gtk_accessible_update_state_value</a></h6>
<div class="docblock">
<p>Updates an array of accessible&nbsp;states.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_name.html">gtk_actionable_get_action_name</a></h6>
<div class="docblock">
<p>Gets the action name for <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.get_action_target_value.html">gtk_actionable_get_action_target_value</a></h6>
<div class="docblock">
<p>Gets the current target value of <code>actionable</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_name.html">gtk_actionable_set_action_name</a></h6>
<div class="docblock">
<p>Specifies the name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target.html">gtk_actionable_set_action_target</a></h6>
<div class="docblock">
<p>Sets the target of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_action_target_value.html">gtk_actionable_set_action_target_value</a></h6>
<div class="docblock">
<p>Sets the target value of an actionable&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Actionable.set_detailed_action_name.html">gtk_actionable_set_detailed_action_name</a></h6>
<div class="docblock">
<p>Sets the action-name and associated string target value of an
actionable&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.Buildable.html" data-namespace="Gtk">GtkBuildable</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="method.Buildable.get_buildable_id.html">gtk_buildable_get_buildable_id</a></h6>
<div class="docblock">
<p>Gets the <span class="caps">ID</span> of the <code>buildable</code> object.</p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (6)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.can-shrink.html">Gtk.Button:can-shrink</a></h6>
<div class="docblock">
<p>Whether the size of the button can be made smaller than the natural
size of its&nbsp;contents.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.child.html">Gtk.Button:child</a></h6>
<div class="docblock">
<p>The child&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.has-frame.html">Gtk.Button:has-frame</a></h6>
<div class="docblock">
<p>Whether the button has a&nbsp;frame.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.icon-name.html">Gtk.Button:icon-name</a></h6>
<div class="docblock">
<p>The name of the icon used to automatically populate the&nbsp;button.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.label.html">Gtk.Button:label</a></h6>
<div class="docblock">
<p>Text of the label inside the button, if the button contains a label&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Button.use-underline.html">Gtk.Button:use-underline</a></h6>
<div class="docblock">
<p>If set, an underline in the text indicates that the following character is
to be used as&nbsp;mnemonic.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (35)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-focus.html">Gtk.Widget:can-focus</a></h6>
<div class="docblock">
<p>Whether the widget or any of its descendents can accept
the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.can-target.html">Gtk.Widget:can-target</a></h6>
<div class="docblock">
<p>Whether the widget can receive pointer&nbsp;events.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-classes.html">Gtk.Widget:css-classes</a></h6>
<div class="docblock">
<p>A list of css classes applied to this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.css-name.html">Gtk.Widget:css-name</a></h6>
<div class="docblock">
<p>The name of this widget in the <span class="caps">CSS</span>&nbsp;tree.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.cursor.html">Gtk.Widget:cursor</a></h6>
<div class="docblock">
<p>The cursor used by <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focus-on-click.html">Gtk.Widget:focus-on-click</a></h6>
<div class="docblock">
<p>Whether the widget should grab focus when it is clicked with the&nbsp;mouse.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.focusable.html">Gtk.Widget:focusable</a></h6>
<div class="docblock">
<p>Whether this widget itself will accept the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.halign.html">Gtk.Widget:halign</a></h6>
<div class="docblock">
<p>How to distribute horizontal space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-default.html">Gtk.Widget:has-default</a></h6>
<div class="docblock">
<p>Whether the widget is the default&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-focus.html">Gtk.Widget:has-focus</a></h6>
<div class="docblock">
<p>Whether the widget has the input&nbsp;focus.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.has-tooltip.html">Gtk.Widget:has-tooltip</a></h6>
<div class="docblock">
<p>Enables or disables the emission of the <code>GtkWidget::query-tooltip</code>
signal on <code>widget</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.height-request.html">Gtk.Widget:height-request</a></h6>
<div class="docblock">
<p>Overrides for height request of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand.html">Gtk.Widget:hexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.hexpand-set.html">Gtk.Widget:hexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>hexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.layout-manager.html">Gtk.Widget:layout-manager</a></h6>
<div class="docblock">
<p>The <code>GtkLayoutManager</code> instance to use to compute
the preferred size of the widget, and allocate its&nbsp;children.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.limit-events.html">Gtk.Widget:limit-events</a></h6>
<div class="docblock">
<p>Makes this widget act like a modal dialog, with respect to
event&nbsp;delivery.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-bottom.html">Gtk.Widget:margin-bottom</a></h6>
<div class="docblock">
<p>Margin on bottom side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-end.html">Gtk.Widget:margin-end</a></h6>
<div class="docblock">
<p>Margin on end of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-start.html">Gtk.Widget:margin-start</a></h6>
<div class="docblock">
<p>Margin on start of widget,&nbsp;horizontally.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.margin-top.html">Gtk.Widget:margin-top</a></h6>
<div class="docblock">
<p>Margin on top side of&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.name.html">Gtk.Widget:name</a></h6>
<div class="docblock">
<p>The name of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.opacity.html">Gtk.Widget:opacity</a></h6>
<div class="docblock">
<p>The requested opacity of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.overflow.html">Gtk.Widget:overflow</a></h6>
<div class="docblock">
<p>How content outside the widget&#8217;s content area is&nbsp;treated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.parent.html">Gtk.Widget:parent</a></h6>
<div class="docblock">
<p>The parent widget of this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.receives-default.html">Gtk.Widget:receives-default</a></h6>
<div class="docblock">
<p>Whether the widget will receive the default action when it is&nbsp;focused.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.root.html">Gtk.Widget:root</a></h6>
<div class="docblock">
<p>The <code>GtkRoot</code> widget of the widget tree containing this&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.scale-factor.html">Gtk.Widget:scale-factor</a></h6>
<div class="docblock">
<p>The scale factor of the&nbsp;widget.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.sensitive.html">Gtk.Widget:sensitive</a></h6>
<div class="docblock">
<p>Whether the widget responds to&nbsp;input.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-markup.html">Gtk.Widget:tooltip-markup</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given string, which is marked up
with Pango&nbsp;markup.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.tooltip-text.html">Gtk.Widget:tooltip-text</a></h6>
<div class="docblock">
<p>Sets the text of tooltip to be the given&nbsp;string.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.valign.html">Gtk.Widget:valign</a></h6>
<div class="docblock">
<p>How to distribute vertical space if widget gets extra&nbsp;space.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand.html">Gtk.Widget:vexpand</a></h6>
<div class="docblock">
<p>Whether to expand&nbsp;vertically.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.vexpand-set.html">Gtk.Widget:vexpand-set</a></h6>
<div class="docblock">
<p>Whether to use the <code>vexpand</code> property.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.visible.html">Gtk.Widget:visible</a></h6>
<div class="docblock">
<p>Whether the widget is&nbsp;visible.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Widget.width-request.html">Gtk.Widget:width-request</a></h6>
<div class="docblock">
<p>Overrides for width request of the&nbsp;widget.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Accessible.html" data-namespace="Gtk">GtkAccessible</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Accessible.accessible-role.html">Gtk.Accessible:accessible-role</a></h6>
<div class="docblock">
<p>The accessible role of the given <code>GtkAccessible</code> implementation.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.Actionable.html" data-namespace="Gtk">GtkActionable</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-name.html">Gtk.Actionable:action-name</a></h6>
<div class="docblock">
<p>The name of the action with which this widget should be&nbsp;associated.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="property.Actionable.action-target.html">Gtk.Actionable:action-target</a></h6>
<div class="docblock">
<p>The target value of the actionable widget&#8217;s&nbsp;action.</p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Button.html" data-namespace="Gtk">GtkButton</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.activate.html">GtkButton::activate</a></h6>
<div class="docblock">
<p>Emitted to animate press then&nbsp;release.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Button.clicked.html">GtkButton::clicked</a></h6>
<div class="docblock">
<p>Emitted when the button has been activated (pressed and&nbsp;released).</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk">GtkWidget</a> (13)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.destroy.html">GtkWidget::destroy</a></h6>
<div class="docblock">
<p>Signals that all holders of a reference to the widget should release
the reference that they&nbsp;hold.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.direction-changed.html">GtkWidget::direction-changed</a></h6>
<div class="docblock">
<p>Emitted when the text direction of a widget&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.hide.html">GtkWidget::hide</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;hidden.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.keynav-failed.html">GtkWidget::keynav-failed</a></h6>
<div class="docblock">
<p>Emitted if keyboard navigation&nbsp;fails.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.map.html">GtkWidget::map</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;mapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.mnemonic-activate.html">GtkWidget::mnemonic-activate</a></h6>
<div class="docblock">
<p>Emitted when a widget is activated via a&nbsp;mnemonic.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.move-focus.html">GtkWidget::move-focus</a></h6>
<div class="docblock">
<p>Emitted when the focus is&nbsp;moved.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.query-tooltip.html">GtkWidget::query-tooltip</a></h6>
<div class="docblock">
<p>Emitted when the widgets tooltip is about to be&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.realize.html">GtkWidget::realize</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is associated with a <code>GdkSurface</code>.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.show.html">GtkWidget::show</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is&nbsp;shown.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.state-flags-changed.html">GtkWidget::state-flags-changed</a></h6>
<div class="docblock">
<p>Emitted when the widget state&nbsp;changes.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unmap.html">GtkWidget::unmap</a></h6>
<div class="docblock">
<p>Emitted when <code>widget</code> is going to be&nbsp;unmapped.</p>
</div><h6><a class="external" href="javascript:void(0)" data-namespace="Gtk" data-link="signal.Widget.unrealize.html">GtkWidget::unrealize</a></h6>
<div class="docblock">
<p>Emitted when the <code>GdkSurface</code> associated with <code>widget</code> is&nbsp;destroyed.</p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperGtkTogglePlayButtonClass {
GtkButtonClass parent_class;
}</code></pre>
</div>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GtkButtonClass</code></dt>
<dd><p>No description available.</p></dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,181 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk &ndash; 0.0: Classes Hierarchy</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk: Classes Hierarchy"/>
<meta property="og:description" content="Reference for ClapperGtk-0.0: Classes Hierarchy"/>
<meta name="twitter:title" content="ClapperGtk: Classes Hierarchy"/>
<meta name="twitter:description" content="Reference for ClapperGtk-0.0: Classes Hierarchy"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<h4 id="title" style="display:flex;">
Classes Hierarchy
<a href="#title" class="anchor"></a>
</h4>
<section>
<div class="docblock">
<h1>Classes Hierarchy</h1>
<div class="docblock">
<ul class="type root">
<li class="type"><a data-namespace="GObject" data-link="class.Object.html" href="javascript:void(0)" class="external"><code>GObject.Object</code></a></li><ul class="type">
<li class="type"><a data-namespace="GObject" data-link="class.InitiallyUnowned.html" href="javascript:void(0)" class="external"><code>GObject.InitiallyUnowned</code></a>
<ul class="type">
<li class="type"><a data-namespace="Gtk" data-link="class.Widget.html" href="javascript:void(0)" class="external"><code>Gtk.Widget</code></a>
<ul class="type">
<li class="type"><a href="class.Av.html"><code>Av</code></a>
<ul class="type">
<li class="type"><a href="class.Audio.html"><code>Audio</code></a>
</li>
<li class="type"><a href="class.Video.html"><code>Video</code></a>
</li>
</ul>
</li>
<li class="type"><a href="class.Container.html"><code>Container</code></a>
<ul class="type">
<li class="type"><a href="class.Billboard.html"><code>Billboard</code></a>
</li>
<li class="type"><a href="class.LeadContainer.html"><code>LeadContainer</code></a>
<ul class="type">
<li class="type"><a href="class.TitleHeader.html"><code>TitleHeader</code></a>
</li>
</ul>
</li>
<li class="type"><a href="class.SimpleControls.html"><code>SimpleControls</code></a>
</li>
</ul>
</li>
<li class="type"><a href="class.ExtraMenuButton.html"><code>ExtraMenuButton</code></a>
</li>
<li class="type"><a data-namespace="Gtk" data-link="class.Button.html" href="javascript:void(0)" class="external"><code>Gtk.Button</code></a>
<ul class="type">
<li class="type"><a href="class.NextItemButton.html"><code>NextItemButton</code></a>
</li>
<li class="type"><a href="class.PreviousItemButton.html"><code>PreviousItemButton</code></a>
</li>
<li class="type"><a href="class.ToggleFullscreenButton.html"><code>ToggleFullscreenButton</code></a>
</li>
<li class="type"><a href="class.TogglePlayButton.html"><code>TogglePlayButton</code></a>
</li>
</ul>
</li>
<li class="type"><a href="class.SeekBar.html"><code>SeekBar</code></a>
</li>
<li class="type"><a href="class.TitleLabel.html"><code>TitleLabel</code></a>
</li>
</ul>
</li>
</ul>
</li>
</ul></li>
</ul>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,155 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.MAJOR_VERSION</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.MAJOR_VERSION"/>
<meta property="og:description" content="Reference for ClapperGtk.MAJOR_VERSION"/>
<meta name="twitter:title" content="ClapperGtk.MAJOR_VERSION"/>
<meta name="twitter:description" content="Reference for ClapperGtk.MAJOR_VERSION"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Constant</h5>
<div class="links">
<a class="current" href="const.MAJOR_VERSION.html">MAJOR_VERSION</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constant</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>MAJOR_VERSION</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_MAJOR_VERSION 0</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>ClapperGtk major version&nbsp;component.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,155 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.MICRO_VERSION</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.MICRO_VERSION"/>
<meta property="og:description" content="Reference for ClapperGtk.MICRO_VERSION"/>
<meta name="twitter:title" content="ClapperGtk.MICRO_VERSION"/>
<meta name="twitter:description" content="Reference for ClapperGtk.MICRO_VERSION"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Constant</h5>
<div class="links">
<a class="current" href="const.MICRO_VERSION.html">MICRO_VERSION</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constant</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>MICRO_VERSION</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_MICRO_VERSION 1</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>ClapperGtk micro version&nbsp;component.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,155 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.MINOR_VERSION</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.MINOR_VERSION"/>
<meta property="og:description" content="Reference for ClapperGtk.MINOR_VERSION"/>
<meta name="twitter:title" content="ClapperGtk.MINOR_VERSION"/>
<meta name="twitter:description" content="Reference for ClapperGtk.MINOR_VERSION"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Constant</h5>
<div class="links">
<a class="current" href="const.MINOR_VERSION.html">MINOR_VERSION</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constant</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>MINOR_VERSION</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_MINOR_VERSION 9</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>ClapperGtk minor version&nbsp;component.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,155 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.VERSION_S</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.VERSION_S"/>
<meta property="og:description" content="Reference for ClapperGtk.VERSION_S"/>
<meta name="twitter:title" content="ClapperGtk.VERSION_S"/>
<meta name="twitter:description" content="Reference for ClapperGtk.VERSION_S"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Constant</h5>
<div class="links">
<a class="current" href="const.VERSION_S.html">VERSION_S</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constant</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>VERSION_S</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_VERSION_S &quot;0.9.1&quot;</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>ClapperGtk version, encoded as a&nbsp;string.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,206 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Audio.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.Audio.new"/>
<meta property="og:description" content="Reference for ClapperGtk.Audio.new"/>
<meta name="twitter:title" content="ClapperGtk.Audio.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Audio.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Audio.html">Audio</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.Audio.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Audio.html">Audio</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.h#L41">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_audio_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.c#L127">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkAudio</code> instance.</p>
<p>Newly created audio widget will also have set &#8220;scaletempo&#8221; GStreamer element
as default audio filter on its <a href="javascript:void(0)" data-namespace="Clapper" data-link="class.Player.html" class="external"><code>ClapperPlayer</code></a> and disable video and
subtitle streams. This can be changed after construction by setting
corresponding player&nbsp;properties.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new audio <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.Billboard.new"/>
<meta property="og:description" content="Reference for ClapperGtk.Billboard.new"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.Billboard.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L41">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_billboard_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L216">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkBillboard</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new billboard <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.Container.new"/>
<meta property="og:description" content="Reference for ClapperGtk.Container.new"/>
<meta name="twitter:title" content="ClapperGtk.Container.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.Container.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L48">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_container_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L72">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkContainer</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new container <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.ExtraMenuButton.new"/>
<meta property="og:description" content="Reference for ClapperGtk.ExtraMenuButton.new"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ExtraMenuButton.html">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.ExtraMenuButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ExtraMenuButton.html">ExtraMenuButton</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L40">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_extra_menu_button_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L319">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkExtraMenuButton</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new extra menu button <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.LeadContainer.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.LeadContainer.new"/>
<meta property="og:description" content="Reference for ClapperGtk.LeadContainer.new"/>
<meta name="twitter:title" content="ClapperGtk.LeadContainer.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.LeadContainer.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.LeadContainer.html">LeadContainer</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.LeadContainer.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.LeadContainer.html">LeadContainer</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-lead-container.h#L50">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_lead_container_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-lead-container.c#L62">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkLeadContainer</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new lead container <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.NextItemButton.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.NextItemButton.new"/>
<meta property="og:description" content="Reference for ClapperGtk.NextItemButton.new"/>
<meta name="twitter:title" content="ClapperGtk.NextItemButton.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.NextItemButton.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.NextItemButton.html">NextItemButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.NextItemButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.NextItemButton.html">NextItemButton</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-next-item-button.h#L40">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_next_item_button_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-next-item-button.c#L67">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkNextItemButton</code> to play next <code>ClapperMediaItem</code>.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new next item button <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.PreviousItemButton.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.PreviousItemButton.new"/>
<meta property="og:description" content="Reference for ClapperGtk.PreviousItemButton.new"/>
<meta name="twitter:title" content="ClapperGtk.PreviousItemButton.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.PreviousItemButton.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.PreviousItemButton.html">PreviousItemButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.PreviousItemButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.PreviousItemButton.html">PreviousItemButton</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-previous-item-button.h#L40">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_previous_item_button_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-previous-item-button.c#L67">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkPreviousItemButton</code> to play previous <code>ClapperMediaItem</code>.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new previous item button <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.SeekBar.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.SeekBar.new"/>
<meta property="og:description" content="Reference for ClapperGtk.SeekBar.new"/>
<meta name="twitter:title" content="ClapperGtk.SeekBar.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.SeekBar.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.SeekBar.html">SeekBar</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.SeekBar.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.SeekBar.html">SeekBar</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-seek-bar.h#L41">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_seek_bar_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-seek-bar.c#L563">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkSeekBar</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new seek bar <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.SimpleControls.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.SimpleControls.new"/>
<meta property="og:description" content="Reference for ClapperGtk.SimpleControls.new"/>
<meta name="twitter:title" content="ClapperGtk.SimpleControls.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.SimpleControls.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.SimpleControls.html">SimpleControls</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.SimpleControls.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.SimpleControls.html">SimpleControls</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-simple-controls.h#L42">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_simple_controls_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-simple-controls.c#L127">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkSimpleControls</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new simple controls <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TitleHeader.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TitleHeader.new"/>
<meta property="og:description" content="Reference for ClapperGtk.TitleHeader.new"/>
<meta name="twitter:title" content="ClapperGtk.TitleHeader.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TitleHeader.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.TitleHeader.html">TitleHeader</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.TitleHeader.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.TitleHeader.html">TitleHeader</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-header.h#L41">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_title_header_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-header.c#L72">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkTitleHeader</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new title header <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TitleLabel.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TitleLabel.new"/>
<meta property="og:description" content="Reference for ClapperGtk.TitleLabel.new"/>
<meta name="twitter:title" content="ClapperGtk.TitleLabel.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TitleLabel.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.TitleLabel.html">TitleLabel</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.TitleLabel.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.TitleLabel.html">TitleLabel</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-label.h#L41">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_title_label_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-label.c#L172">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkTitleLabel</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new title label <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ToggleFullscreenButton.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.ToggleFullscreenButton.new"/>
<meta property="og:description" content="Reference for ClapperGtk.ToggleFullscreenButton.new"/>
<meta name="twitter:title" content="ClapperGtk.ToggleFullscreenButton.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ToggleFullscreenButton.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ToggleFullscreenButton.html">ToggleFullscreenButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.ToggleFullscreenButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ToggleFullscreenButton.html">ToggleFullscreenButton</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-fullscreen-button.h#L40">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_toggle_fullscreen_button_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-fullscreen-button.c#L65">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkToggleFullscreenButton</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new toggle fullscreen button <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,202 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TogglePlayButton.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TogglePlayButton.new"/>
<meta property="og:description" content="Reference for ClapperGtk.TogglePlayButton.new"/>
<meta name="twitter:title" content="ClapperGtk.TogglePlayButton.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TogglePlayButton.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.TogglePlayButton.html">TogglePlayButton</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.TogglePlayButton.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.TogglePlayButton.html">TogglePlayButton</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-play-button.h#L40">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_toggle_play_button_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-play-button.c#L69">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkTogglePlayButton</code> instance.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new toggle play button <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,206 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Video.new</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.Video.new"/>
<meta property="og:description" content="Reference for ClapperGtk.Video.new"/>
<meta name="twitter:title" content="ClapperGtk.Video.new"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Video.new"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Video.html">Video</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="method current" href="ctor.Video.new.html">new</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Constructor</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Video.html">Video</a><span class="sep"></span>new</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-video.h#L42">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_video_new</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-video.c#L905">[src]</a>
</h4>
<div class="docblock">
<p>Creates a new <code>ClapperGtkVideo</code> instance.</p>
<p>Newly created video widget will also have set some default GStreamer elements
on its <a href="javascript:void(0)" data-namespace="Clapper" data-link="class.Player.html" class="external"><code>ClapperPlayer</code></a>. This includes Clapper own video sink and
a &#8220;scaletempo&#8221; element as audio filter. Both can still be changed after
construction by setting corresponding player&nbsp;properties.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A new video <code>GtkWidget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,265 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.VideoActionMask</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.VideoActionMask"/>
<meta property="og:description" content="Reference for ClapperGtk.VideoActionMask"/>
<meta name="twitter:title" content="ClapperGtk.VideoActionMask"/>
<meta name="twitter:description" content="Reference for ClapperGtk.VideoActionMask"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="flags.VideoActionMask.html">VideoActionMask</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Enumeration</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>VideoActionMask</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a href="#declaration" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>flags ClapperGtk.VideoActionMask</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="members toggle-wrapper">
<h4 id="members">
Members
<a href="#members" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="enum-members">
<dt>
<code id="none">CLAPPER_GTK_VIDEO_ACTION_NONE</code>
<a class="anchor" href="#none"></a>
</dt>
<dd>
<div><p>No&nbsp;action.</p></div>
<ul>
<li>Value: <code>0</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
<dt>
<code id="reveal_overlays">CLAPPER_GTK_VIDEO_ACTION_REVEAL_OVERLAYS</code>
<a class="anchor" href="#reveal_overlays"></a>
</dt>
<dd>
<div><p>Reveal fading&nbsp;overlays.</p></div>
<ul>
<li>Value: <code>1</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
<dt>
<code id="toggle_play">CLAPPER_GTK_VIDEO_ACTION_TOGGLE_PLAY</code>
<a class="anchor" href="#toggle_play"></a>
</dt>
<dd>
<div><p>Toggle playback (triggered by single&nbsp;click/tap).</p></div>
<ul>
<li>Value: <code>2</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
<dt>
<code id="toggle_fullscreen">CLAPPER_GTK_VIDEO_ACTION_TOGGLE_FULLSCREEN</code>
<a class="anchor" href="#toggle_fullscreen"></a>
</dt>
<dd>
<div><p>Toggle fullscreen (triggered by double&nbsp;click/tap).</p></div>
<ul>
<li>Value: <code>4</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
<dt>
<code id="seek_request">CLAPPER_GTK_VIDEO_ACTION_SEEK_REQUEST</code>
<a class="anchor" href="#seek_request"></a>
</dt>
<dd>
<div><p>Seek request (triggered by double tap on screen&nbsp;side).</p></div>
<ul>
<li>Value: <code>8</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
<dt>
<code id="any">CLAPPER_GTK_VIDEO_ACTION_ANY</code>
<a class="anchor" href="#any"></a>
</dt>
<dd>
<div><p>All of the&nbsp;above.</p></div>
<ul>
<li>Value: <code>67108863</code></li>
<li>Available since: 0.0</li>
</ul>
</dd>
</dl>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#members"><span class="link-text">Members</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,150 +0,0 @@
/*
* SPDX-FileCopyrightText: 2021 GNOME Foundation
*
* SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
*/
/**
* RedHat Fonts taken from https://github.com/RedHatOfficial/RedHatFont
* License: SIL Open Font License 1.1 http://scripts.sil.org/OFL
*
* SourceCodePro Fonts
* License: SIL Open Font License 1.1 https://scripts.sil.org/OFL
*/
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-Regular');
font-style: normal;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-RegularItalic');
font-style: italic;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-Medium');
font-style: normal;
font-weight: 500;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-MediumItalic');
font-style: italic;
font-weight: 500;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-Bold');
font-style: normal;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-BoldItalic');
font-style: italic;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-Black');
font-style: normal;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Display";
src: local('RedHatDisplay-BlackItalic');
font-style: italic;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-Regular');
font-style: normal;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-Italic');
font-style: italic;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-Medium');
font-style: normal;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-MediumItalic');
font-style: italic;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-Bold');
font-style: normal;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "Red Hat Text";
src: local('RedHatText-BoldItalic');
font-style: italic;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 400;
src: local('SourceCodePro-Regular'), local('monospace');
font-display: swap;
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-weight: 400;
src: local('SourceCodePro-It'), local('monospace');
font-display: swap;
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 600;
src: local('SourceCodePro-Semibold'), local('monospace');
font-display: swap;
}

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.AUDIO_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.AUDIO_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.AUDIO_CAST"/>
<meta name="twitter:title" content="ClapperGtk.AUDIO_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.AUDIO_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>AUDIO_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_AUDIO_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.AV_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.AV_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.AV_CAST"/>
<meta name="twitter:title" content="ClapperGtk.AV_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.AV_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>AV_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_AV_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.BILLBOARD_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.BILLBOARD_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.BILLBOARD_CAST"/>
<meta name="twitter:title" content="ClapperGtk.BILLBOARD_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.BILLBOARD_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>BILLBOARD_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_BILLBOARD_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,235 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.CHECK_VERSION</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.CHECK_VERSION"/>
<meta property="og:description" content="Reference for ClapperGtk.CHECK_VERSION"/>
<meta name="twitter:title" content="ClapperGtk.CHECK_VERSION"/>
<meta name="twitter:description" content="Reference for ClapperGtk.CHECK_VERSION"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>CHECK_VERSION</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L72">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_CHECK_VERSION (</span>
<span class="w"> </span><span class="n">major</span><span class="p">,</span>
<span class="w"> </span><span class="n">minor</span><span class="p">,</span>
<span class="w"> </span><span class="n">micro</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>major</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
<dt class="arg-name"><code>minor</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
<dt class="arg-name"><code>micro</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.CONTAINER_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.CONTAINER_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.CONTAINER_CAST"/>
<meta name="twitter:title" content="ClapperGtk.CONTAINER_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.CONTAINER_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>CONTAINER_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_CONTAINER_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.DEPRECATED_FOR</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.DEPRECATED_FOR"/>
<meta property="og:description" content="Reference for ClapperGtk.DEPRECATED_FOR"/>
<meta name="twitter:title" content="ClapperGtk.DEPRECATED_FOR"/>
<meta name="twitter:description" content="Reference for ClapperGtk.DEPRECATED_FOR"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>DEPRECATED_FOR</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-visibility.h#L46">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_DEPRECATED_FOR (</span>
<span class="w"> </span><span class="n">f</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>f</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,235 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ENCODE_VERSION</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.ENCODE_VERSION"/>
<meta property="og:description" content="Reference for ClapperGtk.ENCODE_VERSION"/>
<meta name="twitter:title" content="ClapperGtk.ENCODE_VERSION"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ENCODE_VERSION"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>ENCODE_VERSION</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L62">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_ENCODE_VERSION (</span>
<span class="w"> </span><span class="n">major</span><span class="p">,</span>
<span class="w"> </span><span class="n">minor</span><span class="p">,</span>
<span class="w"> </span><span class="n">micro</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>major</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
<dt class="arg-name"><code>minor</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
<dt class="arg-name"><code>micro</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.EXTRA_MENU_BUTTON_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.EXTRA_MENU_BUTTON_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.EXTRA_MENU_BUTTON_CAST"/>
<meta name="twitter:title" content="ClapperGtk.EXTRA_MENU_BUTTON_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.EXTRA_MENU_BUTTON_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>EXTRA_MENU_BUTTON_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_EXTRA_MENU_BUTTON_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.LEAD_CONTAINER_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.LEAD_CONTAINER_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.LEAD_CONTAINER_CAST"/>
<meta name="twitter:title" content="ClapperGtk.LEAD_CONTAINER_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.LEAD_CONTAINER_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>LEAD_CONTAINER_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-lead-container.h#L36">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_LEAD_CONTAINER_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.NEXT_ITEM_BUTTON_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.NEXT_ITEM_BUTTON_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.NEXT_ITEM_BUTTON_CAST"/>
<meta name="twitter:title" content="ClapperGtk.NEXT_ITEM_BUTTON_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.NEXT_ITEM_BUTTON_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>NEXT_ITEM_BUTTON_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-next-item-button.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_NEXT_ITEM_BUTTON_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.PREVIOUS_ITEM_BUTTON_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.PREVIOUS_ITEM_BUTTON_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.PREVIOUS_ITEM_BUTTON_CAST"/>
<meta name="twitter:title" content="ClapperGtk.PREVIOUS_ITEM_BUTTON_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.PREVIOUS_ITEM_BUTTON_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>PREVIOUS_ITEM_BUTTON_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-previous-item-button.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_PREVIOUS_ITEM_BUTTON_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.SEEK_BAR_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.SEEK_BAR_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.SEEK_BAR_CAST"/>
<meta name="twitter:title" content="ClapperGtk.SEEK_BAR_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.SEEK_BAR_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>SEEK_BAR_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-seek-bar.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_SEEK_BAR_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.SIMPLE_CONTROLS_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.SIMPLE_CONTROLS_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.SIMPLE_CONTROLS_CAST"/>
<meta name="twitter:title" content="ClapperGtk.SIMPLE_CONTROLS_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.SIMPLE_CONTROLS_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>SIMPLE_CONTROLS_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-simple-controls.h#L36">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_SIMPLE_CONTROLS_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TITLE_HEADER_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TITLE_HEADER_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.TITLE_HEADER_CAST"/>
<meta name="twitter:title" content="ClapperGtk.TITLE_HEADER_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TITLE_HEADER_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>TITLE_HEADER_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-header.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_TITLE_HEADER_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TITLE_LABEL_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TITLE_LABEL_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.TITLE_LABEL_CAST"/>
<meta name="twitter:title" content="ClapperGtk.TITLE_LABEL_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TITLE_LABEL_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>TITLE_LABEL_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-title-label.h#L35">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_TITLE_LABEL_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TOGGLE_FULLSCREEN_BUTTON_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TOGGLE_FULLSCREEN_BUTTON_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.TOGGLE_FULLSCREEN_BUTTON_CAST"/>
<meta name="twitter:title" content="ClapperGtk.TOGGLE_FULLSCREEN_BUTTON_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TOGGLE_FULLSCREEN_BUTTON_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>TOGGLE_FULLSCREEN_BUTTON_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-fullscreen-button.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_TOGGLE_FULLSCREEN_BUTTON_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.TOGGLE_PLAY_BUTTON_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.TOGGLE_PLAY_BUTTON_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.TOGGLE_PLAY_BUTTON_CAST"/>
<meta name="twitter:title" content="ClapperGtk.TOGGLE_PLAY_BUTTON_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.TOGGLE_PLAY_BUTTON_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>TOGGLE_PLAY_BUTTON_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-toggle-play-button.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_TOGGLE_PLAY_BUTTON_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.VIDEO_CAST</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.VIDEO_CAST"/>
<meta property="og:description" content="Reference for ClapperGtk.VIDEO_CAST"/>
<meta name="twitter:title" content="ClapperGtk.VIDEO_CAST"/>
<meta name="twitter:description" content="Reference for ClapperGtk.VIDEO_CAST"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Function Macros</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function Macro</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>VIDEO_CAST</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-video.h#L36">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="cp">#define CLAPPER_GTK_VIDEO_CAST (</span>
<span class="w"> </span><span class="n">obj</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
<p>This function is not directly available to language bindings.</p>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>obj</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>-</code></p>
<p>No description available.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_major_version</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_major_version"/>
<meta property="og:description" content="Reference for ClapperGtk.get_major_version"/>
<meta name="twitter:title" content="ClapperGtk.get_major_version"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_major_version"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_major_version</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This function will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L81">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">guint</span>
<span class="n">clapper_gtk_get_major_version</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.c#L21">[src]</a>
</h4>
<div class="docblock">
<p>ClapperGtk runtime major version&nbsp;component</p>
<p>This returns the ClapperGtk library version your code is
running against unlike <a href="const.MAJOR_VERSION.html"><code>CLAPPER_GTK_MAJOR_VERSION</code></a>
which represents compile time&nbsp;version.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>guint</code></p>
<p>The major version number of the ClapperGtk&nbsp;library.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_micro_version</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_micro_version"/>
<meta property="og:description" content="Reference for ClapperGtk.get_micro_version"/>
<meta name="twitter:title" content="ClapperGtk.get_micro_version"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_micro_version"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_micro_version</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This function will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L85">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">guint</span>
<span class="n">clapper_gtk_get_micro_version</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.c#L59">[src]</a>
</h4>
<div class="docblock">
<p>ClapperGtk runtime micro version&nbsp;component</p>
<p>This returns the ClapperGtk library version your code is
running against unlike <a href="const.MICRO_VERSION.html"><code>CLAPPER_GTK_MICRO_VERSION</code></a>
which represents compile time&nbsp;version.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>guint</code></p>
<p>The micro version number of the ClapperGtk&nbsp;library.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_minor_version</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_minor_version"/>
<meta property="og:description" content="Reference for ClapperGtk.get_minor_version"/>
<meta name="twitter:title" content="ClapperGtk.get_minor_version"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_minor_version"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_minor_version</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This function will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L83">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">guint</span>
<span class="n">clapper_gtk_get_minor_version</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.c#L40">[src]</a>
</h4>
<div class="docblock">
<p>ClapperGtk runtime minor version&nbsp;component</p>
<p>This returns the ClapperGtk library version your code is
running against unlike <a href="const.MINOR_VERSION.html"><code>CLAPPER_GTK_MINOR_VERSION</code></a>
which represents compile time&nbsp;version.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>guint</code></p>
<p>The minor version number of the ClapperGtk&nbsp;library.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,236 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_player_from_ancestor</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_player_from_ancestor"/>
<meta property="og:description" content="Reference for ClapperGtk.get_player_from_ancestor"/>
<meta name="twitter:title" content="ClapperGtk.get_player_from_ancestor"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_player_from_ancestor"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_player_from_ancestor</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-utils.h#L34">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">ClapperPlayer</span><span class="o">*</span>
<span class="n">clapper_gtk_get_player_from_ancestor</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">GtkWidget</span><span class="o">*</span><span class="w"> </span><span class="n">widget</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-utils.c#L28">[src]</a>
</h4>
<div class="docblock">
<p>Get <a href="javascript:void(0)" data-namespace="Clapper" data-link="class.Player.html" class="external"><code>ClapperPlayer</code></a> used by <a href="class.Av.html"><code>ClapperGtkAv</code></a> ancestor of <code>widget</code>.</p>
<p>This utility is a convenience wrapper for calling <a href="javascript:void(0)" data-namespace="Gtk" data-link="method.Widget.get_ancestor.html" class="external"><code>gtk_widget_get_ancestor()</code></a>
of type <code>CLAPPER_GTK_TYPE_AV</code> and <a href="method.Av.get_player.html"><code>clapper_gtk_av_get_player()</code></a> with
additional <code>NULL</code> checking and type&nbsp;casting.</p>
<p>This is meant to be used mainly for custom widget development as an easy access to the
underlying parent <a href="javascript:void(0)" data-namespace="Clapper" data-link="class.Player.html" class="external"><code>ClapperPlayer</code></a> object. If you want to get the player from
<a href="class.Av.html"><code>ClapperGtkAv</code></a> widget itself, use <a href="method.Av.get_player.html"><code>clapper_gtk_av_get_player()</code></a>&nbsp;instead.</p>
<p>Rememeber that this function will return <code>NULL</code> when widget does not have
a <a href="class.Av.html"><code>ClapperGtkAv</code></a> ancestor in widget hierarchy (widget is not yet&nbsp;placed).</p>
</div>
<div class="docblock">
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>widget</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A <code>GtkWidget</code>.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the function.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Player.html" data-namespace="Clapper" class="external"><code>ClapperPlayer</code></a></p>
<p>A <code>ClapperPlayer</code> from ancestor of a <code>widget</code>.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
<tr><td>The return value can be <code>NULL</code>.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,194 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_resource</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_resource"/>
<meta property="og:description" content="Reference for ClapperGtk.get_resource"/>
<meta name="twitter:title" content="ClapperGtk.get_resource"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_resource"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_resource</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-resources.h#L6">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="n">GResource</span><span class="o">*</span>
<span class="n">clapper_gtk_get_resource</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
</h4>
<div class="docblock">
<p>No description available.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="struct.Resource.html" data-namespace="Gio" class="external"><code>GResource</code></a></p>
<p>No description available.</p>
</div>
<div>
<table>
<tr><td title="transfer: full">The caller of the function takes ownership of the data, and is responsible for freeing it.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,199 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.get_version_s</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk.get_version_s"/>
<meta property="og:description" content="Reference for ClapperGtk.get_version_s"/>
<meta name="twitter:title" content="ClapperGtk.get_version_s"/>
<meta name="twitter:description" content="Reference for ClapperGtk.get_version_s"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Functions</h5>
<div class="links">
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Function </h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span>get_version_s</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This function will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 id="declaration" style="display:flex;">
Declaration
<a href="#declaration" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.h#L87">[src]</a>
</h4>
<div class="docblock">
<pre><code><div class="highlight"><pre><span></span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">*</span>
<span class="n">clapper_gtk_get_version_s</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-version.c#L78">[src]</a>
</h4>
<div class="docblock">
<p>ClapperGtk runtime version as&nbsp;string</p>
<p>This returns the ClapperGtk library version your code is
running against unlike <a href="const.VERSION_S.html"><code>CLAPPER_GTK_VERSION_S</code></a>
which represents compile time&nbsp;version.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
<p>The version of the ClapperGtk library as&nbsp;string.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The data is owned by the called function.</td></tr>
<tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,222 +0,0 @@
// SPDX-FileCopyrightText: 2014 John Hawthorn
//
// SPDX-License-Identifier: MIT
window.fzy = (function() {
var SCORE_MIN = -Infinity;
var SCORE_MAX = Infinity;
var SCORE_GAP_LEADING = -0.005
var SCORE_GAP_TRAILING = -0.005
var SCORE_GAP_INNER = -0.01
var SCORE_MATCH_CONSECUTIVE = 1.0
var SCORE_MATCH_SLASH = 0.9
var SCORE_MATCH_WORD = 0.8
var SCORE_MATCH_CAPITAL = 0.7
var SCORE_MATCH_DOT = 0.6
function islower(s) {
return s.toLowerCase() === s;
}
function isupper(s) {
return s.toUpperCase() === s;
}
function precompute_bonus(haystack) {
/* Which positions are beginning of words */
var m = haystack.length;
var match_bonus = new Array(m);
var last_ch = '/';
for (var i = 0; i < m; i++) {
var ch = haystack[i];
if (last_ch === '/') {
match_bonus[i] = SCORE_MATCH_SLASH;
} else if (last_ch === '-' || last_ch === '_' || last_ch === ' ') {
match_bonus[i] = SCORE_MATCH_WORD;
} else if (last_ch === '.') {
match_bonus[i] = SCORE_MATCH_DOT;
} else if (islower(last_ch) && isupper(ch)) {
match_bonus[i] = SCORE_MATCH_CAPITAL;
} else {
match_bonus[i] = 0;
}
last_ch = ch;
}
return match_bonus;
}
function compute(needle, haystack, D, M) {
var n = needle.length;
var m = haystack.length;
var match_bonus = precompute_bonus(haystack, match_bonus);
/*
* D[][] Stores the best score for this position ending with a match.
* M[][] Stores the best possible score at this position.
*/
for (var i = 0; i < n; i++) {
D[i] = new Array(m);
M[i] = new Array(m);
var prev_score = SCORE_MIN;
var gap_score = i === n - 1 ? SCORE_GAP_TRAILING : SCORE_GAP_INNER;
for (var j = 0; j < m; j++) {
if (needle[i] === haystack[j]) {
var score = SCORE_MIN;
if (!i) {
score = (j * SCORE_GAP_LEADING) + match_bonus[j];
} else if (j) { /* i > 0 && j > 0*/
score = Math.max(
M[i - 1][j - 1] + match_bonus[j],
/* consecutive match, doesn't stack with match_bonus */
D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE);
}
D[i][j] = score;
M[i][j] = prev_score = Math.max(score, prev_score + gap_score);
} else {
D[i][j] = SCORE_MIN;
M[i][j] = prev_score = prev_score + gap_score;
}
}
}
}
function score(needle, haystack) {
var n = needle.length;
var m = haystack.length;
if (!n || !m)
return SCORE_MIN;
if (n === m) {
/* Since this method can only be called with a haystack which
* matches needle. If the lengths of the strings are equal the
* strings themselves must also be equal (ignoring case).
*/
return SCORE_MAX;
}
if (m > 1024) {
/*
* Unreasonably large candidate: return no score
* If it is a valid match it will still be returned, it will
* just be ranked below any reasonably sized candidates
*/
return SCORE_MIN;
}
var D = new Array(n);
var M = new Array(n);
compute(needle, haystack, D, M)
return M[n - 1][m - 1];
}
function positions(needle, haystack) {
var n = needle.length;
var m = haystack.length;
var positions = new Array(n);
if (!n || !m)
return positions;
if (n === m) {
for (var i = 0; i < n; i++)
positions[i] = i;
return positions;
}
if (m > 1024) {
return positions;
}
var D = new Array(n);
var M = new Array(n);
compute(needle, haystack, D, M)
/* backtrack to find the positions of optimal matching */
var match_required = false;
for (var i = n - 1, j = m - 1; i >= 0; i--) {
for (; j >= 0; j--) {
/*
* There may be multiple paths which result in
* the optimal weight.
*
* For simplicity, we will pick the first one
* we encounter, the latest in the candidate
* string.
*/
if (D[i][j] !== SCORE_MIN &&
(match_required || D[i][j] === M[i][j])) {
/* If this score was determined using
* SCORE_MATCH_CONSECUTIVE, the
* previous character MUST be a match
*/
match_required =
i && j &&
M[i][j] === D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE;
positions[i] = j--;
break;
}
}
}
return positions;
}
function hasMatch(needle, haystack) {
var l = needle.length
for (var i = 0, j = 0; i < l; i += 1) {
j = haystack.indexOf(needle[i], j) + 1
if (j === 0) return false
}
return true
}
function filter(needle, items, selector) {
const isCaseSensitive = needle.toLowerCase() !== needle;
const actualNeedle = isCaseSensitive ? needle : needle.toLowerCase();
const filteredItems = items.reduce((results, item) => {
const haystack = isCaseSensitive ? selector(item) : selector(item).toLowerCase();
if (hasMatch(actualNeedle, haystack))
results.push({ item, score: score(needle, haystack) })
return results;
}, [])
filteredItems.sort((a, b) => b.score - a.score)
return filteredItems;
}
return {
/* constants */
SCORE_MIN,
SCORE_MAX,
SCORE_GAP_LEADING,
SCORE_GAP_TRAILING,
SCORE_GAP_INNER,
SCORE_MATCH_CONSECUTIVE,
SCORE_MATCH_SLASH,
SCORE_MATCH_WORD,
SCORE_MATCH_CAPITAL,
SCORE_MATCH_DOT,
/* functions */
score,
positions,
hasMatch,
filter,
}
})();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

View File

@@ -1,913 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk &ndash; 0.0</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta property="og:title" content="ClapperGtk-0.0"/>
<meta property="og:description" content="Reference for ClapperGtk-0.0"/>
<meta name="twitter:title" content="ClapperGtk-0.0"/>
<meta name="twitter:description" content="Reference for ClapperGtk-0.0"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Sections</h5>
<div class="links">
<a href="#classes">Classes</a>
<a href="#bitfields">Bitfields</a>
<a href="#functions">Functions</a>
<a href="#function_macros">Function Macros</a>
<a href="#constants">Constants</a>
</div>
</div>
<div class="section">
<h5>Dependencies</h5>
<div class="links">
<a href="https://rafostar.github.io/clapper/doc/clapper/" class="external">Clapper</a>
<a href="https://docs.gtk.org/gtk4/" class="external">Gtk</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Namespace</h3>
<h1>ClapperGtk &ndash; 0.0</h1>
<div class="description">
<p>Clapper GTK integration library</p>
</div>
<div class="meta info">
<table>
<tr><td><em>Version</em></td><td>0.9.1</td></tr>
<tr><td><em>Authors</em></td><td>Rafał Dzięgiel</td></tr>
<tr><td><em>License</em></td><td>LGPL-2.1-or-later</td></tr>
<tr><td><em>Website</em></td><td><a href="https://rafostar.github.io/clapper/" class="external">https://rafostar.github.io/clapper/</a></td></tr>
<tr><td><em>Source</em></td><td><a href="https://github.com/Rafostar/clapper/" class="external">https://github.com/Rafostar/clapper/</a></td></tr>
</table>
</div>
<div class="meta build toggle-wrapper">
<h4>Build</h4>
<div class="docblock">
<table>
<tr><td>C headers</td><td><code>clapper-gtk/clapper-gtk.h</code></td></tr>
<tr><td>pkg-config files</td><td><code>clapper-gtk-0.0</code></td></tr>
</table>
</div>
</div>
</header>
<section>
<div class="toggle-wrapper">
<h4 id="dependencies" style="display:flex;">
Dependencies
<a href="#dependencies" class="anchor"></a>
</h4>
<div class="docblock">
<table>
<tr>
<td><strong>Clapper</strong>&mdash;0.0</td>
<td>Clapper playback library</td>
</tr>
<tr>
<td></td>
<td><a href="https://rafostar.github.io/clapper/doc/clapper/" class="external">Browse documentation</a></td>
</tr>
<tr>
<td><strong>Gtk</strong>&mdash;4.0</td>
<td>The GTK toolkit</td>
</tr>
<tr>
<td></td>
<td><a href="https://docs.gtk.org/gtk4/" class="external">Browse documentation</a></td>
</tr>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper">
<h4 id="related" style="display:flex;">
Related libraries
<a href="#related" class="anchor"></a>
</h4>
<div class="docblock">
<table>
<tr>
<td><strong>GLib</strong></td>
<td>A general-purpose, portable utility library</td>
</tr>
<tr>
<td></td>
<td><a href="https://docs.gtk.org/glib/" class="external">Browse documentation</a></td>
</tr>
<tr>
<td><strong>GObject</strong></td>
<td>The base type system library</td>
</tr>
<tr>
<td></td>
<td><a href="https://docs.gtk.org/gobject/" class="external">Browse documentation</a></td>
</tr>
<tr>
<td><strong>Gio</strong></td>
<td>GObject Interfaces and Objects, Networking, IPC, and I/O</td>
</tr>
<tr>
<td></td>
<td><a href="https://docs.gtk.org/gio/" class="external">Browse documentation</a></td>
</tr>
<tr>
<td><strong>Gst</strong></td>
<td>GStreamer core library</td>
</tr>
<tr>
<td></td>
<td><a href="https://gstreamer.freedesktop.org/documentation/gstreamer/gi-index.html" class="external">Browse documentation</a></td>
</tr>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper">
<h4 id="extra" style="display:flex;">
Additional documentation
<a href="#extra" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li><a href="migrating-to-010.html">Migrating to ClapperGtk 0.10</a></li>
<li><a href="classes_hierarchy.html">Classes Hierarchy</a></li>
</ul>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper default-hide">
<h4 id="classes" class="section-header" style="display:flex;">
Classes
<a href="#classes" class="anchor"></a>
</h4>
<div class="docblock">
<table style="display:block;">
<tbody>
<tr class="section-item">
<td><a title="Audio" class="symbol" href="class.Audio.html">Audio</a></td>
<td class="docblock-summary">
<p>A <span class="caps">GTK</span> widget for audio playback with Clapper <span class="caps">API</span>.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
<tr class="section-item">
<td><a title="Av" class="symbol" href="class.Av.html">Av</a></td>
<td class="docblock-summary">
<p>A base class for <span class="caps">GTK</span> audio and video&nbsp;widgets.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
<tr class="section-item">
<td><a title="Billboard" class="symbol" href="class.Billboard.html">Billboard</a></td>
<td class="docblock-summary">
<p>A layer where various messages can be&nbsp;displayed.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="Container" class="symbol" href="class.Container.html">Container</a></td>
<td class="docblock-summary">
<p>A simple container widget that holds just one&nbsp;child.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="ExtraMenuButton" class="symbol" href="class.ExtraMenuButton.html">ExtraMenuButton</a></td>
<td class="docblock-summary">
<p>A menu button with extra&nbsp;options.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="LeadContainer" class="symbol" href="class.LeadContainer.html">LeadContainer</a></td>
<td class="docblock-summary">
<p>A <code>ClapperGtkContainer</code> that can take priority in user interactions with the <code>ClapperGtkVideo</code>.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="NextItemButton" class="symbol" href="class.NextItemButton.html">NextItemButton</a></td>
<td class="docblock-summary">
<p>A <code>GtkButton</code> for selecting next queue&nbsp;item.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="PreviousItemButton" class="symbol" href="class.PreviousItemButton.html">PreviousItemButton</a></td>
<td class="docblock-summary">
<p>A <code>GtkButton</code> for selecting previous queue&nbsp;item.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="SeekBar" class="symbol" href="class.SeekBar.html">SeekBar</a></td>
<td class="docblock-summary">
<p>A bar for seeking and displaying playback&nbsp;position.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="SimpleControls" class="symbol" href="class.SimpleControls.html">SimpleControls</a></td>
<td class="docblock-summary">
<p>A minimalistic playback controls panel&nbsp;widget.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TitleHeader" class="symbol" href="class.TitleHeader.html">TitleHeader</a></td>
<td class="docblock-summary">
<p>A header panel widget that displays current media&nbsp;title.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TitleLabel" class="symbol" href="class.TitleLabel.html">TitleLabel</a></td>
<td class="docblock-summary">
<p>A label showing an up to date title of media&nbsp;item.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="ToggleFullscreenButton" class="symbol" href="class.ToggleFullscreenButton.html">ToggleFullscreenButton</a></td>
<td class="docblock-summary">
<p>A <code>GtkButton</code> for toggling fullscreen&nbsp;state.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TogglePlayButton" class="symbol" href="class.TogglePlayButton.html">TogglePlayButton</a></td>
<td class="docblock-summary">
<p>A <code>GtkButton</code> for toggling play/pause of&nbsp;playback.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="Video" class="symbol" href="class.Video.html">Video</a></td>
<td class="docblock-summary">
<p>A ready to be used <span class="caps">GTK</span> video widget implementing Clapper <span class="caps">API</span>.</p>
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper default-hide">
<h4 id="bitfields" class="section-header" style="display:flex;">
Bitfields
<a href="#bitfields" class="anchor"></a>
</h4>
<div class="docblock">
<table style="display:block;">
<tbody>
<tr class="section-item">
<td><a title="VideoActionMask" class="symbol" href="flags.VideoActionMask.html">VideoActionMask</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper default-hide">
<h4 id="functions" class="section-header" style="display:flex;">
Functions
<a href="#functions" class="anchor"></a>
</h4>
<div class="docblock">
<table style="display:block;">
<tbody>
<tr class="section-item">
<td><a title="get_major_version" class="symbol" href="func.get_major_version.html">get_major_version</a></td>
<td class="docblock-summary">
<p>ClapperGtk runtime major version&nbsp;component.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
<tr class="section-item">
<td><a title="get_micro_version" class="symbol" href="func.get_micro_version.html">get_micro_version</a></td>
<td class="docblock-summary">
<p>ClapperGtk runtime micro version&nbsp;component.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
<tr class="section-item">
<td><a title="get_minor_version" class="symbol" href="func.get_minor_version.html">get_minor_version</a></td>
<td class="docblock-summary">
<p>ClapperGtk runtime minor version&nbsp;component.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
<tr class="section-item">
<td><a title="get_player_from_ancestor" class="symbol" href="func.get_player_from_ancestor.html">get_player_from_ancestor</a></td>
<td class="docblock-summary">
<p>Get <code>ClapperPlayer</code> used by <code>ClapperGtkAv</code> ancestor of <code>widget</code>.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="get_resource" class="symbol" href="func.get_resource.html">get_resource</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="get_version_s" class="symbol" href="func.get_version_s.html">get_version_s</a></td>
<td class="docblock-summary">
<p>ClapperGtk runtime version as&nbsp;string.</p>
<p><span class="emblem available-next" title="This symbol will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper default-hide">
<h4 id="function_macros" class="section-header" style="display:flex;">
Function Macros
<a href="#function_macros" class="anchor"></a>
</h4>
<div class="docblock">
<table style="display:block;">
<tbody>
<tr class="section-item">
<td><a title="AUDIO_CAST" class="symbol" href="func.AUDIO_CAST.html">AUDIO_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="AV_CAST" class="symbol" href="func.AV_CAST.html">AV_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="BILLBOARD_CAST" class="symbol" href="func.BILLBOARD_CAST.html">BILLBOARD_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="CHECK_VERSION" class="symbol" href="func.CHECK_VERSION.html">CHECK_VERSION</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="CONTAINER_CAST" class="symbol" href="func.CONTAINER_CAST.html">CONTAINER_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="DEPRECATED_FOR" class="symbol" href="func.DEPRECATED_FOR.html">DEPRECATED_FOR</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="ENCODE_VERSION" class="symbol" href="func.ENCODE_VERSION.html">ENCODE_VERSION</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="EXTRA_MENU_BUTTON_CAST" class="symbol" href="func.EXTRA_MENU_BUTTON_CAST.html">EXTRA_MENU_BUTTON_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="LEAD_CONTAINER_CAST" class="symbol" href="func.LEAD_CONTAINER_CAST.html">LEAD_CONTAINER_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="NEXT_ITEM_BUTTON_CAST" class="symbol" href="func.NEXT_ITEM_BUTTON_CAST.html">NEXT_ITEM_BUTTON_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="PREVIOUS_ITEM_BUTTON_CAST" class="symbol" href="func.PREVIOUS_ITEM_BUTTON_CAST.html">PREVIOUS_ITEM_BUTTON_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="SEEK_BAR_CAST" class="symbol" href="func.SEEK_BAR_CAST.html">SEEK_BAR_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="SIMPLE_CONTROLS_CAST" class="symbol" href="func.SIMPLE_CONTROLS_CAST.html">SIMPLE_CONTROLS_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TITLE_HEADER_CAST" class="symbol" href="func.TITLE_HEADER_CAST.html">TITLE_HEADER_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TITLE_LABEL_CAST" class="symbol" href="func.TITLE_LABEL_CAST.html">TITLE_LABEL_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TOGGLE_FULLSCREEN_BUTTON_CAST" class="symbol" href="func.TOGGLE_FULLSCREEN_BUTTON_CAST.html">TOGGLE_FULLSCREEN_BUTTON_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="TOGGLE_PLAY_BUTTON_CAST" class="symbol" href="func.TOGGLE_PLAY_BUTTON_CAST.html">TOGGLE_PLAY_BUTTON_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="VIDEO_CAST" class="symbol" href="func.VIDEO_CAST.html">VIDEO_CAST</a></td>
<td class="docblock-summary">
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<section>
<div class="toggle-wrapper default-hide">
<h4 id="constants" class="section-header" style="display:flex;">
Constants
<a href="#constants" class="anchor"></a>
</h4>
<div class="docblock">
<table style="display:block;">
<tbody>
<tr class="section-item">
<td><a title="MAJOR_VERSION" class="symbol" href="const.MAJOR_VERSION.html">MAJOR_VERSION</a></td>
<td class="docblock-summary">
<p>ClapperGtk major version&nbsp;component.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="MICRO_VERSION" class="symbol" href="const.MICRO_VERSION.html">MICRO_VERSION</a></td>
<td class="docblock-summary">
<p>ClapperGtk micro version&nbsp;component.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="MINOR_VERSION" class="symbol" href="const.MINOR_VERSION.html">MINOR_VERSION</a></td>
<td class="docblock-summary">
<p>ClapperGtk minor version&nbsp;component.</p>
<p></p>
</td>
</tr>
<tr class="section-item">
<td><a title="VERSION_S" class="symbol" href="const.VERSION_S.html">VERSION_S</a></td>
<td class="docblock-summary">
<p>ClapperGtk version, encoded as a&nbsp;string.</p>
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -1,184 +0,0 @@
// SPDX-FileCopyrightText: 2021 GNOME Foundation
//
// SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
"use strict";
const urlMap = new Map(typeof baseURLs !== 'undefined' ? baseURLs : []);
window.addEventListener("hashchange", onDidHashChange);
window.addEventListener("load", onDidLoad, false);
window.addEventListener("keydown", onKeyDown);
function onDidLoad() {
attachScrollHandlers()
attachToggleHandlers()
attachCopyHandlers()
if (window.onInitSearch) {
window.onInitSearch()
}
}
function onDidHashChange() {
// When URL fragment changes to ID of a collapsible section,
// expand it when it is collapsed.
// This is useful for clicking section links in the sidebar on the index page.
const sectionHeader = document.querySelector(".section-header" + location.hash);
if (sectionHeader !== null) {
const parent = sectionHeader.parentNode;
if (hasClass(parent, "toggle-wrapper")) {
const toggle = parent.querySelector(".collapse-toggle");
if (hasClass(toggle, "collapsed")) {
toggle.click();
}
}
}
}
function attachScrollHandlers() {
const btnToTop = document.getElementById("btn-to-top");
btnToTop.addEventListener('click', onClick);
window.addEventListener('scroll', onScroll);
function onClick(e) {
e.preventDefault();
window.scroll({ top: 0, behavior: 'smooth' });
}
function onScroll() {
if (window.scrollY < 400) {
addClass(btnToTop, "hidden");
} else {
removeClass(btnToTop, "hidden");
}
}
}
function attachToggleHandlers() {
function label(isCollapsed) {
return (
"[<span class=\"inner\">" +
(isCollapsed ? "+" : "\u2212") +
"</span>]"
)
}
function createToggle(isCollapsed) {
const toggle = document.createElement("a");
toggle.href = "javascript:void(0)";
toggle.className = "collapse-toggle";
toggle.innerHTML = label(isCollapsed);
toggle.addEventListener('click', onClickToggle);
return toggle;
}
function onClickToggle() {
if (hasClass(this, "collapsed")) {
removeClass(this, "collapsed");
this.innerHTML = label(false);
forEach(this.parentNode.querySelectorAll(".docblock"), function(e) {
removeClass(e, "hidden");
});
} else {
addClass(this, "collapsed");
this.innerHTML = label(true);
forEach(this.parentNode.querySelectorAll(".docblock"), function(e) {
addClass(e, "hidden");
});
}
}
forEach(document.querySelectorAll(".toggle-wrapper"), function(e) {
const sectionHeader = e.querySelector(".section-header");
const fragmentMatches = sectionHeader !== null && location.hash === "#" + sectionHeader.getAttribute('id');
const collapsedByDefault = hasClass(e, "default-hide") && !fragmentMatches;
const toggle = createToggle(collapsedByDefault);
e.insertBefore(toggle, e.firstChild);
if (collapsedByDefault) {
addClass(toggle, "collapsed");
forEach(e.querySelectorAll(".docblock"), function(d) {
addClass(d, "hidden");
});
}
});
function resolveNamespaceLink(namespace) {
return urlMap.get(namespace);
}
forEach(document.querySelectorAll(".external"), function(e) {
if (e.tagName == "A" && e.dataset.hasOwnProperty('namespace')) {
var data_namespace = e.dataset.namespace
var data_link = e.dataset.link
var base_url = resolveNamespaceLink(data_namespace)
if (base_url !== undefined) {
e.href = base_url + data_link;
} else {
e.title = "No reference to the " + data_namespace + " namespace";
}
}
})
}
function attachCopyHandlers() {
if (!navigator.clipboard)
return;
forEach(document.querySelectorAll(".codehilite"), function(e) {
const button = document.createElement("button");
button.className = "copy-button";
button.innerText = "Copy";
button.title = "Copy code to clipboard";
const text = e.innerText;
button.addEventListener("click", () => {
navigator.clipboard.writeText(text);
});
e.appendChild(button);
})
}
function onKeyDown(event) {
let search_input = document.querySelector("#search-input");
// We don't want to try to focus the search input if it isn't visible. That way
// we avoid the preventDefault(), hence allowing devhelp to use S as mnemonic.
let potentially_hidden_parent = search_input.closest('.hidden, .devhelp-hidden');
if (window.getComputedStyle(potentially_hidden_parent).display !== 'none') {
if ((event.key === "s" || event.key === "S") &&
document.activeElement !== search_input) {
event.preventDefault();
search_input.focus();
} else if (event.key === "Escape" && document.activeElement === search_input) {
if (window.hideResults) {
window.hideResults();
}
search_input.value = "";
search_input.blur();
}
}
}
// Helpers
function hasClass(elem, className) {
return elem && elem.classList && elem.classList.contains(className);
}
function addClass(elem, className) {
return elem && elem.classList && elem.classList.add(className);
}
function removeClass(elem, className) {
return elem && elem.classList && elem.classList.remove(className);
}
function forEach(arr, func) {
for (let i = 0; i < arr.length; ++i) {
func(arr[i])
}
}

View File

@@ -1,214 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Audio.get_child</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Audio.get_child"/>
<meta priority="og:description" content="Reference for ClapperGtk.Audio.get_child"/>
<meta name="twitter:title" content="ClapperGtk.Audio.get_child"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Audio.get_child"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Audio.html">Audio</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method current" href="method.Audio.get_child.html">get_child</a>
<a class="method" href="method.Audio.set_child.html">set_child</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Audio.html">Audio</a><span class="sep"></span>get_child</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.h#L47">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_audio_get_child</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAudio</span><span class="o">*</span><span class="w"> </span><span class="n">audio</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.c#L163">[src]</a>
</h4>
<div class="docblock">
<p>Get a child <code>GtkWidget</code> of <code>audio</code>.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Audio.child.html"><code>ClapperGtk.Audio:child</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p><code>GtkWidget</code> set as&nbsp;child.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The returned data is owned by the instance.</td></tr>
<tr><td>The return value can be <code>NULL</code>.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,223 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Audio.set_child</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Audio.set_child"/>
<meta priority="og:description" content="Reference for ClapperGtk.Audio.set_child"/>
<meta name="twitter:title" content="ClapperGtk.Audio.set_child"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Audio.set_child"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Audio.html">Audio</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Audio.get_child.html">get_child</a>
<a class="method current" href="method.Audio.set_child.html">set_child</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Audio.html">Audio</a><span class="sep"></span>set_child</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.h#L44">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_audio_set_child</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAudio</span><span class="o">*</span><span class="w"> </span><span class="n">audio</span><span class="p">,</span>
<span class="w"> </span><span class="n">GtkWidget</span><span class="o">*</span><span class="w"> </span><span class="n">child</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-audio.c#L145">[src]</a>
</h4>
<div class="docblock">
<p>Set a child <code>GtkWidget</code> of <code>audio</code>.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Audio.child.html"><code>ClapperGtk.Audio:child</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>child</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A <code>GtkWidget</code>.</p>
<table>
<tr><td>The argument can be <code>NULL</code>.</td></tr>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,218 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Av.get_auto_inhibit</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Av.get_auto_inhibit"/>
<meta priority="og:description" content="Reference for ClapperGtk.Av.get_auto_inhibit"/>
<meta name="twitter:title" content="ClapperGtk.Av.get_auto_inhibit"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Av.get_auto_inhibit"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Av.html">Av</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method current" href="method.Av.get_auto_inhibit.html">get_auto_inhibit</a>
<a class="method" href="method.Av.get_inhibited.html">get_inhibited</a>
<a class="method" href="method.Av.get_player.html">get_player</a>
<a class="method" href="method.Av.set_auto_inhibit.html">set_auto_inhibit</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Av.html">Av</a><span class="sep"></span>get_auto_inhibit</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.h#L55">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">clapper_gtk_av_get_auto_inhibit</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAv</span><span class="o">*</span><span class="w"> </span><span class="n">av</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.c#L424">[src]</a>
</h4>
<div class="docblock">
<p>Get whether automatic session inhibit is&nbsp;enabled.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Av.auto-inhibit.html"><code>ClapperGtk.Av:auto-inhibit</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p><code>TRUE</code> if enabled, <code>FALSE</code> otherwise.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,219 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Av.get_inhibited</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Av.get_inhibited"/>
<meta priority="og:description" content="Reference for ClapperGtk.Av.get_inhibited"/>
<meta name="twitter:title" content="ClapperGtk.Av.get_inhibited"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Av.get_inhibited"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Av.html">Av</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Av.get_auto_inhibit.html">get_auto_inhibit</a>
<a class="method current" href="method.Av.get_inhibited.html">get_inhibited</a>
<a class="method" href="method.Av.get_player.html">get_player</a>
<a class="method" href="method.Av.set_auto_inhibit.html">set_auto_inhibit</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Av.html">Av</a><span class="sep"></span>get_inhibited</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.h#L58">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">clapper_gtk_av_get_inhibited</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAv</span><span class="o">*</span><span class="w"> </span><span class="n">av</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.c#L446">[src]</a>
</h4>
<div class="docblock">
<p>Get whether session is currently inhibited by
<a href="property.Av.auto-inhibit.html"><code>ClapperGtkAv:auto-inhibit</code></a>.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Av.inhibited.html"><code>ClapperGtk.Av:inhibited</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p><code>TRUE</code> if inhibited, <code>FALSE</code> otherwise.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,218 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Av.get_player</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Av.get_player"/>
<meta priority="og:description" content="Reference for ClapperGtk.Av.get_player"/>
<meta name="twitter:title" content="ClapperGtk.Av.get_player"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Av.get_player"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Av.html">Av</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Av.get_auto_inhibit.html">get_auto_inhibit</a>
<a class="method" href="method.Av.get_inhibited.html">get_inhibited</a>
<a class="method current" href="method.Av.get_player.html">get_player</a>
<a class="method" href="method.Av.set_auto_inhibit.html">set_auto_inhibit</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Av.html">Av</a><span class="sep"></span>get_player</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.h#L49">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">ClapperPlayer</span><span class="o">*</span>
<span class="n">clapper_gtk_av_get_player</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAv</span><span class="o">*</span><span class="w"> </span><span class="n">av</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.c#L372">[src]</a>
</h4>
<div class="docblock">
<p>Get <code>ClapperPlayer</code> used by this <code>ClapperGtkAv</code> instance.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Av.player.html"><code>ClapperGtk.Av:player</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Player.html" data-namespace="Clapper" class="external"><code>ClapperPlayer</code></a></p>
<p>A <code>ClapperPlayer</code> used by&nbsp;widget.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The returned data is owned by the instance.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,228 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Av.set_auto_inhibit</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Av.set_auto_inhibit"/>
<meta priority="og:description" content="Reference for ClapperGtk.Av.set_auto_inhibit"/>
<meta name="twitter:title" content="ClapperGtk.Av.set_auto_inhibit"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Av.set_auto_inhibit"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Av.html">Av</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Av.get_auto_inhibit.html">get_auto_inhibit</a>
<a class="method" href="method.Av.get_inhibited.html">get_inhibited</a>
<a class="method" href="method.Av.get_player.html">get_player</a>
<a class="method current" href="method.Av.set_auto_inhibit.html">set_auto_inhibit</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Av.html">Av</a><span class="sep"></span>set_auto_inhibit</h1>
</header>
<section>
<div class="docblock">
<p><span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;<span class="emblem available">since: 0.10</span></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.h#L52">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_av_set_auto_inhibit</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkAv</span><span class="o">*</span><span class="w"> </span><span class="n">av</span><span class="p">,</span>
<span class="w"> </span><span class="n">gboolean</span><span class="w"> </span><span class="n">inhibit</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-av.c#L394">[src]</a>
</h4>
<div class="docblock">
<p>Set whether widget should try to automatically inhibit session
from idling (and possibly screen going black) when media is&nbsp;playing.</p>
</div>
<div class="docblock">
<p>Available since: 0.10</p>
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Av.auto-inhibit.html"><code>ClapperGtk.Av:auto-inhibit</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>inhibit</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p>Whether to enable automatic session&nbsp;inhibit.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,188 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.announce_speed</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Billboard.announce_speed"/>
<meta priority="og:description" content="Reference for ClapperGtk.Billboard.announce_speed"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.announce_speed"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.announce_speed"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method current" href="method.Billboard.announce_speed.html">announce_speed</a>
<a class="method" href="method.Billboard.announce_volume.html">announce_volume</a>
<a class="method" href="method.Billboard.pin_message.html">pin_message</a>
<a class="method" href="method.Billboard.post_message.html">post_message</a>
<a class="method" href="method.Billboard.unpin_pinned_message.html">unpin_pinned_message</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>announce_speed</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L56">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_billboard_announce_speed</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkBillboard</span><span class="o">*</span><span class="w"> </span><span class="n">billboard</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L329">[src]</a>
</h4>
<div class="docblock">
<p>Temporarily displays current speed value on the
side of <code>billboard</code>.</p>
<p>Use this if you want to present current speed value to the&nbsp;user.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,188 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.announce_volume</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Billboard.announce_volume"/>
<meta priority="og:description" content="Reference for ClapperGtk.Billboard.announce_volume"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.announce_volume"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.announce_volume"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Billboard.announce_speed.html">announce_speed</a>
<a class="method current" href="method.Billboard.announce_volume.html">announce_volume</a>
<a class="method" href="method.Billboard.pin_message.html">pin_message</a>
<a class="method" href="method.Billboard.post_message.html">post_message</a>
<a class="method" href="method.Billboard.unpin_pinned_message.html">unpin_pinned_message</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>announce_volume</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L53">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_billboard_announce_volume</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkBillboard</span><span class="o">*</span><span class="w"> </span><span class="n">billboard</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L284">[src]</a>
</h4>
<div class="docblock">
<p>Temporarily displays current volume level on the
side of <code>billboard</code>.</p>
<p>Use this if you want to present current volume level to the&nbsp;user.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,241 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.pin_message</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Billboard.pin_message"/>
<meta priority="og:description" content="Reference for ClapperGtk.Billboard.pin_message"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.pin_message"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.pin_message"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Billboard.announce_speed.html">announce_speed</a>
<a class="method" href="method.Billboard.announce_volume.html">announce_volume</a>
<a class="method current" href="method.Billboard.pin_message.html">pin_message</a>
<a class="method" href="method.Billboard.post_message.html">post_message</a>
<a class="method" href="method.Billboard.unpin_pinned_message.html">unpin_pinned_message</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>pin_message</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L47">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_billboard_pin_message</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkBillboard</span><span class="o">*</span><span class="w"> </span><span class="n">billboard</span><span class="p">,</span>
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">*</span><span class="w"> </span><span class="n">icon_name</span><span class="p">,</span>
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">*</span><span class="w"> </span><span class="n">message</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L247">[src]</a>
</h4>
<div class="docblock">
<p>Pins a permanent message on the <code>billboard</code>.</p>
<p>The message will stay on the <code>billboard</code> until a
<a href="method.Billboard.unpin_pinned_message.html"><code>clapper_gtk_billboard_unpin_pinned_message()</code></a> is&nbsp;called.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>icon_name</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
<p>An icon&nbsp;name.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
<tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
</table>
</dd>
<dt class="arg-name"><code>message</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
<p>A message&nbsp;text.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
<tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,241 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.post_message</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Billboard.post_message"/>
<meta priority="og:description" content="Reference for ClapperGtk.Billboard.post_message"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.post_message"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.post_message"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Billboard.announce_speed.html">announce_speed</a>
<a class="method" href="method.Billboard.announce_volume.html">announce_volume</a>
<a class="method" href="method.Billboard.pin_message.html">pin_message</a>
<a class="method current" href="method.Billboard.post_message.html">post_message</a>
<a class="method" href="method.Billboard.unpin_pinned_message.html">unpin_pinned_message</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>post_message</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L44">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_billboard_post_message</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkBillboard</span><span class="o">*</span><span class="w"> </span><span class="n">billboard</span><span class="p">,</span>
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">*</span><span class="w"> </span><span class="n">icon_name</span><span class="p">,</span>
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">*</span><span class="w"> </span><span class="n">message</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L229">[src]</a>
</h4>
<div class="docblock">
<p>Posts a temporary message on the <code>billboard</code>.</p>
<p>Duration how long a message will stay is automatically
calculated based on amount of&nbsp;text.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>icon_name</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
<p>An icon&nbsp;name.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
<tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
</table>
</dd>
<dt class="arg-name"><code>message</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
<p>A message&nbsp;text.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
<tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,188 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Billboard.unpin_pinned_message</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Billboard.unpin_pinned_message"/>
<meta priority="og:description" content="Reference for ClapperGtk.Billboard.unpin_pinned_message"/>
<meta name="twitter:title" content="ClapperGtk.Billboard.unpin_pinned_message"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Billboard.unpin_pinned_message"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Billboard.html">Billboard</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Billboard.announce_speed.html">announce_speed</a>
<a class="method" href="method.Billboard.announce_volume.html">announce_volume</a>
<a class="method" href="method.Billboard.pin_message.html">pin_message</a>
<a class="method" href="method.Billboard.post_message.html">post_message</a>
<a class="method current" href="method.Billboard.unpin_pinned_message.html">unpin_pinned_message</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Billboard.html">Billboard</a><span class="sep"></span>unpin_pinned_message</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.h#L50">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_billboard_unpin_pinned_message</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkBillboard</span><span class="o">*</span><span class="w"> </span><span class="n">billboard</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-billboard.c#L265">[src]</a>
</h4>
<div class="docblock">
<p>Unpins previously pinned message on the <code>billboard</code>.</p>
<p>If no message was pinned this function will do nothing,
so it is safe to call when&nbsp;unsure.</p>
</div>
<div class="docblock">
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,230 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.get_adaptive_height</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.get_adaptive_height"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.get_adaptive_height"/>
<meta name="twitter:title" content="ClapperGtk.Container.get_adaptive_height"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.get_adaptive_height"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method current" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>get_adaptive_height</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L78">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gint</span>
<span class="n">clapper_gtk_container_get_adaptive_height</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L257">[src]</a>
</h4>
<div class="docblock">
<p>Get a <code>container</code> adaptive height&nbsp;threshold.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Container.adaptive-height.html"><code>ClapperGtk.Container:adaptive-height</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Adaptive height set by user or -1 when&nbsp;none.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,230 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.get_adaptive_width</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.get_adaptive_width"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.get_adaptive_width"/>
<meta name="twitter:title" content="ClapperGtk.Container.get_adaptive_width"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.get_adaptive_width"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method current" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>get_adaptive_width</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L72">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gint</span>
<span class="n">clapper_gtk_container_get_adaptive_width</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L216">[src]</a>
</h4>
<div class="docblock">
<p>Get a <code>container</code> adaptive width&nbsp;threshold.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Container.adaptive-width.html"><code>ClapperGtk.Container:adaptive-width</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Adaptive width set by user or -1 when&nbsp;none.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,222 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.get_child</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.get_child"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.get_child"/>
<meta name="twitter:title" content="ClapperGtk.Container.get_child"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.get_child"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method current" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>get_child</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L54">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">GtkWidget</span><span class="o">*</span>
<span class="n">clapper_gtk_container_get_child</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L102">[src]</a>
</h4>
<div class="docblock">
<p>Get a child <code>GtkWidget</code> of <code>container</code>.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p><code>GtkWidget</code> set as&nbsp;child.</p>
</div>
<div>
<table>
<tr><td title="transfer: none">The returned data is owned by the instance.</td></tr>
<tr><td>The return value can be <code>NULL</code>.</td></tr>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,230 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.get_height_target</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.get_height_target"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.get_height_target"/>
<meta name="twitter:title" content="ClapperGtk.Container.get_height_target"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.get_height_target"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method current" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>get_height_target</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L66">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gint</span>
<span class="n">clapper_gtk_container_get_height_target</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L175">[src]</a>
</h4>
<div class="docblock">
<p>Get a <code>container</code> height&nbsp;target.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Container.height-target.html"><code>ClapperGtk.Container:height-target</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Height target set by user or -1 when&nbsp;none.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,230 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.get_width_target</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.get_width_target"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.get_width_target"/>
<meta name="twitter:title" content="ClapperGtk.Container.get_width_target"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.get_width_target"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method current" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>get_width_target</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L60">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gint</span>
<span class="n">clapper_gtk_container_get_width_target</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L138">[src]</a>
</h4>
<div class="docblock">
<p>Get a <code>container</code> width&nbsp;target.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.Container.width-target.html"><code>ClapperGtk.Container:width-target</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Width target set by user or -1 when&nbsp;none.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,242 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.set_adaptive_height</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.set_adaptive_height"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.set_adaptive_height"/>
<meta name="twitter:title" content="ClapperGtk.Container.set_adaptive_height"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.set_adaptive_height"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method current" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>set_adaptive_height</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L75">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_container_set_adaptive_height</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span><span class="p">,</span>
<span class="w"> </span><span class="n">gint</span><span class="w"> </span><span class="n">height</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L235">[src]</a>
</h4>
<div class="docblock">
<p>Set an adaptive height threshold. When widget is resized to value or lower,
an <a href="signal.Container.adapt.html"><code>ClapperGtkContainer::adapt</code></a> signal will be emitted with <code>TRUE</code> to
notify implementation about mobile adaptation request, otherwise <code>FALSE</code> when
both threshold values are&nbsp;exceeded.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Container.adaptive-height.html"><code>ClapperGtk.Container:adaptive-height</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>height</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>A threshold on which adapt signal should be triggered or -1 to&nbsp;disable.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,242 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.set_adaptive_width</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.set_adaptive_width"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.set_adaptive_width"/>
<meta name="twitter:title" content="ClapperGtk.Container.set_adaptive_width"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.set_adaptive_width"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method current" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>set_adaptive_width</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L69">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_container_set_adaptive_width</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span><span class="p">,</span>
<span class="w"> </span><span class="n">gint</span><span class="w"> </span><span class="n">width</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L194">[src]</a>
</h4>
<div class="docblock">
<p>Set an adaptive width threshold. When widget is resized to value or lower,
an <a href="signal.Container.adapt.html"><code>ClapperGtkContainer::adapt</code></a> signal will be emitted with <code>TRUE</code> to
notify implementation about mobile adaptation request, otherwise <code>FALSE</code> when
both threshold values are&nbsp;exceeded.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Container.adaptive-width.html"><code>ClapperGtk.Container:adaptive-width</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>width</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>A threshold on which adapt signal should be triggered or -1 to&nbsp;disable.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,231 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.set_child</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.set_child"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.set_child"/>
<meta name="twitter:title" content="ClapperGtk.Container.set_child"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.set_child"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method current" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>set_child</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L51">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_container_set_child</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span><span class="p">,</span>
<span class="w"> </span><span class="n">GtkWidget</span><span class="o">*</span><span class="w"> </span><span class="n">child</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L85">[src]</a>
</h4>
<div class="docblock">
<p>Set a child <code>GtkWidget</code> of <code>container</code>.</p>
</div>
<div class="docblock">
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>child</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-link="class.Widget.html" data-namespace="Gtk" class="external"><code>GtkWidget</code></a></p>
<p>A <code>GtkWidget</code>.</p>
<table>
<tr><td title="transfer: none">The data is owned by the caller of the method.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,239 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.set_height_target</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.set_height_target"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.set_height_target"/>
<meta name="twitter:title" content="ClapperGtk.Container.set_height_target"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.set_height_target"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method current" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>set_height_target</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L63">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_container_set_height_target</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span><span class="p">,</span>
<span class="w"> </span><span class="n">gint</span><span class="w"> </span><span class="n">height</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L157">[src]</a>
</h4>
<div class="docblock">
<p>Same as <code>clapper_gtk_container_set_width_target()</code> but for widget&nbsp;height.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Container.height-target.html"><code>ClapperGtk.Container:height-target</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>height</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Height to target or -1 to restore default&nbsp;behavior.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,241 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.Container.set_width_target</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.Container.set_width_target"/>
<meta priority="og:description" content="Reference for ClapperGtk.Container.set_width_target"/>
<meta name="twitter:title" content="ClapperGtk.Container.set_width_target"/>
<meta name="twitter:description" content="Reference for ClapperGtk.Container.set_width_target"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.Container.html">Container</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.Container.get_adaptive_height.html">get_adaptive_height</a>
<a class="method" href="method.Container.get_adaptive_width.html">get_adaptive_width</a>
<a class="method" href="method.Container.get_child.html">get_child</a>
<a class="method" href="method.Container.get_height_target.html">get_height_target</a>
<a class="method" href="method.Container.get_width_target.html">get_width_target</a>
<a class="method" href="method.Container.set_adaptive_height.html">set_adaptive_height</a>
<a class="method" href="method.Container.set_adaptive_width.html">set_adaptive_width</a>
<a class="method" href="method.Container.set_child.html">set_child</a>
<a class="method" href="method.Container.set_height_target.html">set_height_target</a>
<a class="method current" href="method.Container.set_width_target.html">set_width_target</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.Container.html">Container</a><span class="sep"></span>set_width_target</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.h#L57">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_container_set_width_target</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkContainer</span><span class="o">*</span><span class="w"> </span><span class="n">container</span><span class="p">,</span>
<span class="w"> </span><span class="n">gint</span><span class="w"> </span><span class="n">width</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-container.c#L118">[src]</a>
</h4>
<div class="docblock">
<p>Set a width that <code>container</code> should target. When set container
will not stretch beyond set <code>width</code> while still expanding into
possible boundaries trying to reach its&nbsp;target.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.Container.width-target.html"><code>ClapperGtk.Container:width-target</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>width</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gint</code></p>
<p>Width to target -1 to restore default&nbsp;behavior.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,222 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton.get_can_open_subtitles</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.ExtraMenuButton.get_can_open_subtitles"/>
<meta priority="og:description" content="Reference for ClapperGtk.ExtraMenuButton.get_can_open_subtitles"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton.get_can_open_subtitles"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton.get_can_open_subtitles"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ExtraMenuButton.html">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method current" href="method.ExtraMenuButton.get_can_open_subtitles.html">get_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.get_speed_visible.html">get_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.get_volume_visible.html">get_volume_visible</a>
<a class="method" href="method.ExtraMenuButton.set_can_open_subtitles.html">set_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.set_speed_visible.html">set_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.set_volume_visible.html">set_volume_visible</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ExtraMenuButton.html">ExtraMenuButton</a><span class="sep"></span>get_can_open_subtitles</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L58">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">clapper_gtk_extra_menu_button_get_can_open_subtitles</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkExtraMenuButton</span><span class="o">*</span><span class="w"> </span><span class="n">button</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L432">[src]</a>
</h4>
<div class="docblock">
<p>Get whether an option to open external subtitle stream inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.ExtraMenuButton.can-open-subtitles.html"><code>ClapperGtk.ExtraMenuButton:can-open-subtitles</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p><code>TRUE</code> if open subtitles is visible, <code>FALSE</code> otherwise.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,222 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton.get_speed_visible</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.ExtraMenuButton.get_speed_visible"/>
<meta priority="og:description" content="Reference for ClapperGtk.ExtraMenuButton.get_speed_visible"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton.get_speed_visible"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton.get_speed_visible"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ExtraMenuButton.html">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.ExtraMenuButton.get_can_open_subtitles.html">get_can_open_subtitles</a>
<a class="method current" href="method.ExtraMenuButton.get_speed_visible.html">get_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.get_volume_visible.html">get_volume_visible</a>
<a class="method" href="method.ExtraMenuButton.set_can_open_subtitles.html">set_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.set_speed_visible.html">set_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.set_volume_visible.html">set_volume_visible</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ExtraMenuButton.html">ExtraMenuButton</a><span class="sep"></span>get_speed_visible</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L52">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">clapper_gtk_extra_menu_button_get_speed_visible</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkExtraMenuButton</span><span class="o">*</span><span class="w"> </span><span class="n">button</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L388">[src]</a>
</h4>
<div class="docblock">
<p>Get whether speed control inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.ExtraMenuButton.speed-visible.html"><code>ClapperGtk.ExtraMenuButton:speed-visible</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p><code>TRUE</code> if speed control is visible, <code>FALSE</code> otherwise.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,222 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton.get_volume_visible</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.ExtraMenuButton.get_volume_visible"/>
<meta priority="og:description" content="Reference for ClapperGtk.ExtraMenuButton.get_volume_visible"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton.get_volume_visible"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton.get_volume_visible"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ExtraMenuButton.html">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.ExtraMenuButton.get_can_open_subtitles.html">get_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.get_speed_visible.html">get_speed_visible</a>
<a class="method current" href="method.ExtraMenuButton.get_volume_visible.html">get_volume_visible</a>
<a class="method" href="method.ExtraMenuButton.set_can_open_subtitles.html">set_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.set_speed_visible.html">set_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.set_volume_visible.html">set_volume_visible</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ExtraMenuButton.html">ExtraMenuButton</a><span class="sep"></span>get_volume_visible</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L46">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">clapper_gtk_extra_menu_button_get_volume_visible</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkExtraMenuButton</span><span class="o">*</span><span class="w"> </span><span class="n">button</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L352">[src]</a>
</h4>
<div class="docblock">
<p>Get whether volume control inside popover is&nbsp;visible.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Gets property</td><td><a href="property.ExtraMenuButton.volume-visible.html"><code>ClapperGtk.ExtraMenuButton:volume-visible</code></a></td></tr>
</table>
</div>
</div>
<div class="return-value toggle-wrapper">
<h4 id="return-value">
Return value
<a href="#return-value" class="anchor"></a>
</h4>
<div class="docblock">
<div class="returns">
<div class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p><span class="caps">TRUE</span> if volume control is visible, <code>FALSE</code> otherwise.</p>
</div>
<div>
<table>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

View File

@@ -1,234 +0,0 @@
<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClapperGtk.ExtraMenuButton.set_can_open_subtitles</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="ClapperGtk-0.0"/>
<meta priority="og:title" content="ClapperGtk.ExtraMenuButton.set_can_open_subtitles"/>
<meta priority="og:description" content="Reference for ClapperGtk.ExtraMenuButton.set_can_open_subtitles"/>
<meta name="twitter:title" content="ClapperGtk.ExtraMenuButton.set_can_open_subtitles"/>
<meta name="twitter:description" content="Reference for ClapperGtk.ExtraMenuButton.set_can_open_subtitles"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="ClapperGtk" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<a href="index.html"><img src="clapper-logo.svg" class="logo"/></a>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">ClapperGtk</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.9.1</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a href="class.ExtraMenuButton.html">ExtraMenuButton</a>
</div>
</div>
<div class="section">
<h5>Methods</h5>
<div class="links">
<a class="method" href="method.ExtraMenuButton.get_can_open_subtitles.html">get_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.get_speed_visible.html">get_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.get_volume_visible.html">get_volume_visible</a>
<a class="method current" href="method.ExtraMenuButton.set_can_open_subtitles.html">set_can_open_subtitles</a>
<a class="method" href="method.ExtraMenuButton.set_speed_visible.html">set_speed_visible</a>
<a class="method" href="method.ExtraMenuButton.set_volume_visible.html">set_volume_visible</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.4</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Method</h3>
<h1><a href="index.html">ClapperGtk</a><span class="sep"></span><a href="class.ExtraMenuButton.html">ExtraMenuButton</a><span class="sep"></span>set_can_open_subtitles</h1>
</header>
<section>
<div class="docblock">
<p></p>
</div>
<div class="declaration toggle-wrapper">
<h4 style="display:flex;" id="declaration">
Declaration
<a class="anchor" href="#declaration"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.h#L55">[src]</a>
</h4>
<div class="docblock c-decl">
<pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">clapper_gtk_extra_menu_button_set_can_open_subtitles</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">ClapperGtkExtraMenuButton</span><span class="o">*</span><span class="w"> </span><span class="n">button</span><span class="p">,</span>
<span class="w"> </span><span class="n">gboolean</span><span class="w"> </span><span class="n">allowed</span>
<span class="p">)</span>
</pre></div>
</code></pre>
</div>
</div>
<div class="description toggle-wrapper">
<h4 style="display:flex;" id="description">
Description
<a class="anchor" href="#description"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper-gtk/clapper-gtk-extra-menu-button.c#L404">[src]</a>
</h4>
<div class="docblock">
<p>Set whether an option to open external subtitle stream should be&nbsp;allowed.</p>
<p>Note that this <a href="javascript:void(0)" data-namespace="Gtk" data-link="class.Widget.html" class="external"><code>GtkWidget</code></a> can only add subtitles to currently playing
<a href="javascript:void(0)" data-namespace="Clapper" data-link="class.MediaItem.html" class="external"><code>ClapperMediaItem</code></a>. When no media is selected, option to open subtitles
will not be shown regardless how this option is&nbsp;set.</p>
</div>
<div class="docblock">
</div>
<div class="docblock">
<table>
<tr><td>Sets property</td><td><a href="property.ExtraMenuButton.can-open-subtitles.html"><code>ClapperGtk.ExtraMenuButton:can-open-subtitles</code></a></td></tr>
</table>
</div>
</div>
<div class="parameters toggle-wrapper">
<h4 id="parameters">
Parameters
<a href="#parameters" class="anchor"></a>
</h4>
<div class="docblock">
<dl class="arguments">
<dt class="arg-name"><code>allowed</code></dt>
<dd class="arg-description">
<p><em>Type:</em>&nbsp;<code>gboolean</code></p>
<p>Whether opening subtitles should be&nbsp;allowed.</p>
<table>
</table>
</dd>
</dl>
</div>
</div>
</section>
</section>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More