Flutter Engine
The Flutter Engine
Classes | Enumerations | Functions
fl_settings.h File Reference
#include <glib-object.h>

Go to the source code of this file.

Classes

struct  _FlSettingsInterface
 

Enumerations

enum  FlClockFormat { FL_CLOCK_FORMAT_12H , FL_CLOCK_FORMAT_24H }
 
enum  FlColorScheme { FL_COLOR_SCHEME_LIGHT , FL_COLOR_SCHEME_DARK }
 

Functions

FlSettings * fl_settings_new ()
 
FlClockFormat fl_settings_get_clock_format (FlSettings *settings)
 
FlColorScheme fl_settings_get_color_scheme (FlSettings *settings)
 
gboolean fl_settings_get_enable_animations (FlSettings *settings)
 
gboolean fl_settings_get_high_contrast (FlSettings *settings)
 
gdouble fl_settings_get_text_scaling_factor (FlSettings *settings)
 
void fl_settings_emit_changed (FlSettings *settings)
 

Enumeration Type Documentation

◆ FlClockFormat

FlClockFormat: @FL_CLOCK_FORMAT_12H: 12-hour clock format. @FL_CLOCK_FORMAT_24H: 24-hour clock format.

Available clock formats.

Enumerator
FL_CLOCK_FORMAT_12H 
FL_CLOCK_FORMAT_24H 

Definition at line 21 of file fl_settings.h.

21 {
22 // NOLINTBEGIN(readability-identifier-naming)
25 // NOLINTEND(readability-identifier-naming)
FlClockFormat
Definition: fl_settings.h:21
@ FL_CLOCK_FORMAT_12H
Definition: fl_settings.h:23
@ FL_CLOCK_FORMAT_24H
Definition: fl_settings.h:24

◆ FlColorScheme

FlColorScheme: @FL_COLOR_SCHEME_LIGHT: Prefer light theme. @FL_COLOR_SCHEME_DARK: Prefer dark theme.

Available color schemes.

Enumerator
FL_COLOR_SCHEME_LIGHT 
FL_COLOR_SCHEME_DARK 

Definition at line 35 of file fl_settings.h.

35 {
36 // NOLINTBEGIN(readability-identifier-naming)
39 // NOLINTEND(readability-identifier-naming)
FlColorScheme
Definition: fl_settings.h:35
@ FL_COLOR_SCHEME_DARK
Definition: fl_settings.h:38
@ FL_COLOR_SCHEME_LIGHT
Definition: fl_settings.h:37

Function Documentation

◆ fl_settings_emit_changed()

void fl_settings_emit_changed ( FlSettings *  settings)

fl_settings_emit_changed: @settings: an #FlSettings.

Emits the "changed" signal. Used by FlSettings implementations to notify when the desktop settings have changed.

Definition at line 50 of file fl_settings.cc.

50 {
51 g_return_if_fail(FL_IS_SETTINGS(self));
52 g_signal_emit(self, signals[kSignalChanged], 0);
53}
static guint signals[kSignalLastSignal]
Definition: fl_settings.cc:16
@ kSignalChanged
Definition: fl_settings.cc:12

◆ fl_settings_get_clock_format()

FlClockFormat fl_settings_get_clock_format ( FlSettings *  settings)

fl_settings_get_clock_format: @settings: an #FlSettings.

Whether the clock displays in 24-hour or 12-hour format.

This corresponds to org.gnome.desktop.interface.clock-format in GNOME.

Returns: an FlClockFormat.

Definition at line 30 of file fl_settings.cc.

30 {
31 return FL_SETTINGS_GET_IFACE(self)->get_clock_format(self);
32}

◆ fl_settings_get_color_scheme()

FlColorScheme fl_settings_get_color_scheme ( FlSettings *  settings)

fl_settings_get_color_scheme: @settings: an #FlSettings.

The preferred color scheme for the user interface.

This corresponds to org.gnome.desktop.interface.color-scheme in GNOME.

Returns: an FlColorScheme.

Definition at line 34 of file fl_settings.cc.

34 {
35 return FL_SETTINGS_GET_IFACE(self)->get_color_scheme(self);
36}

◆ fl_settings_get_enable_animations()

gboolean fl_settings_get_enable_animations ( FlSettings *  settings)

fl_settings_get_enable_animations: @settings: an #FlSettings.

Whether animations should be enabled.

This corresponds to org.gnome.desktop.interface.enable-animations in GNOME.

Returns: TRUE if animations are enabled.

Definition at line 38 of file fl_settings.cc.

38 {
39 return FL_SETTINGS_GET_IFACE(self)->get_enable_animations(self);
40}

◆ fl_settings_get_high_contrast()

gboolean fl_settings_get_high_contrast ( FlSettings *  settings)

fl_settings_get_high_contrast: @settings: an #FlSettings.

Whether to use high contrast theme.

This corresponds to org.gnome.desktop.a11y.interface.high-contrast in GNOME.

Returns: TRUE if high contrast is used.

Definition at line 42 of file fl_settings.cc.

42 {
43 return FL_SETTINGS_GET_IFACE(self)->get_high_contrast(self);
44}

◆ fl_settings_get_text_scaling_factor()

gdouble fl_settings_get_text_scaling_factor ( FlSettings *  settings)

fl_settings_get_text_scaling_factor: @settings: an #FlSettings.

Factor used to enlarge or reduce text display, without changing font size.

This corresponds to org.gnome.desktop.interface.text-scaling-factor in GNOME.

Returns: a floating point number.

Definition at line 46 of file fl_settings.cc.

46 {
47 return FL_SETTINGS_GET_IFACE(self)->get_text_scaling_factor(self);
48}

◆ fl_settings_new()

FlSettings * fl_settings_new ( )

fl_settings_new:

Creates a new settings instance.

Returns: a new #FlSettings.

Definition at line 55 of file fl_settings.cc.

55 {
56 g_autoptr(FlSettingsPortal) portal = fl_settings_portal_new();
57
58 g_autoptr(GError) error = nullptr;
59 if (!fl_settings_portal_start(portal, &error)) {
60 g_debug("XDG desktop portal settings unavailable: %s", error->message);
61 return fl_gnome_settings_new();
62 }
63
64 return FL_SETTINGS(g_object_ref(portal));
65}
FlSettings * fl_gnome_settings_new()
const uint8_t uint32_t uint32_t GError ** error
gboolean fl_settings_portal_start(FlSettingsPortal *self, GError **error)
FlSettingsPortal * fl_settings_portal_new()