Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  gtksvg.h

  Sprache: C
 

/*
 * Copyright © 2025 Red Hat, Inc
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 *
 * 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, see <http://www.gnu.org/licenses/>.
 *
 * Authors: Matthias Clasen <mclasen@redhat.com>
 */


#pragma once

#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

#include <gdk/gdk.h>
#include <gsk/gsk.h>
#include <gtk/gtksnapshot.h>
#include <gtk/gtkenums.h>
#include <gtk/svg/gtksvgenumtypes.h>

G_BEGIN_DECLS

#define GTK_TYPE_SVG (gtk_svg_get_type ())

GDK_AVAILABLE_IN_4_22
G_DECLARE_FINAL_TYPE (GtkSvg, gtk_svg, GTK, SVG, GObject)

GDK_AVAILABLE_IN_4_22
GtkSvg *         gtk_svg_new               (void);

GDK_AVAILABLE_IN_4_22
GtkSvg *         gtk_svg_new_from_bytes    (GBytes        *bytes);

GDK_AVAILABLE_IN_4_22
GtkSvg *         gtk_svg_new_from_resource (const char    *path);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_load_from_bytes   (GtkSvg        *self,
                                            GBytes        *bytes);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_load_from_resource (GtkSvg        *self,
                                             const char    *path);

GDK_AVAILABLE_IN_4_22
GBytes *         gtk_svg_serialize         (GtkSvg        *self);

GDK_AVAILABLE_IN_4_22
gboolean         gtk_svg_write_to_file     (GtkSvg        *self,
                                            const char    *filename,
                                            GError       **error);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_set_weight        (GtkSvg        *self,
                                            double         weight);
GDK_AVAILABLE_IN_4_22
double           gtk_svg_get_weight        (GtkSvg        *self);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_set_state         (GtkSvg        *self,
                                            unsigned int   state);
GDK_AVAILABLE_IN_4_22
unsigned int     gtk_svg_get_state         (GtkSvg        *self);

GDK_AVAILABLE_IN_4_22
const char **    gtk_svg_get_state_names   (GtkSvg        *self,
                                            unsigned int  *length);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_set_frame_clock   (GtkSvg        *self,
                                            GdkFrameClock *clock);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_play              (GtkSvg        *self);

GDK_AVAILABLE_IN_4_22
void             gtk_svg_pause             (GtkSvg        *self);

GDK_AVAILABLE_IN_4_24
void             gtk_svg_set_overflow      (GtkSvg        *self,
                                            GtkOverflow    overflow);
GDK_AVAILABLE_IN_4_24
GtkOverflow      gtk_svg_get_overflow      (GtkSvg        *self);

GDK_AVAILABLE_IN_4_24
void             gtk_svg_set_stylesheet    (GtkSvg        *self,
                                            GBytes        *bytes);
GDK_AVAILABLE_IN_4_24
GBytes *         gtk_svg_get_stylesheet    (GtkSvg        *self);

GDK_AVAILABLE_IN_4_24
void             gtk_svg_set_settings      (GtkSvg        *self,
                                            GtkSettings   *settings);

/**
 * GtkSvgFeatures:
 * @GTK_SVG_ANIMATIONS: Whether to run animations. If disabled,
 *   state changes are applied without transitions
 * @GTK_SVG_SYSTEM_RESOURCES: Whether to use system resources,
 *   such as fonts. If disabled, only embedded fonts are used
 * @GTK_SVG_EXTERNAL_RESOURCES: Whether to load external
 *   resources, such as images. If disabled, only embedded
 *   images are loaded
 * @GTK_SVG_EXTENSIONS: Whether to allow gpa extensions, such
 *   as states and transitions
 * @GTK_SVG_TRADITIONAL_SYMBOLIC: This feature is meant for
 *   compatibility with old symbolic icons. If this is enabled,
 *   fill and stroke attributes are ignored. The used colors
 *   are derived from symbolic style classes if present, and
 *   the default fill color is the symbolic foreground color.
 *
 * Features of the SVG renderer that can be enabled or disabled.
 *
 * By default, all features except `GTK_SVG_TRADITIONAL_SYMBOLIC`
 * are enabled.
 *
 * New values may be added in the future.
 *
 * Since: 4.22
 */

typedef enum
{
  GTK_SVG_ANIMATIONS           = 1 << 0,
  GTK_SVG_SYSTEM_RESOURCES     = 1 << 1,
  GTK_SVG_EXTERNAL_RESOURCES   = 1 << 2,
  GTK_SVG_EXTENSIONS           = 1 << 3,
  GTK_SVG_TRADITIONAL_SYMBOLIC = 1 << 4,
} GtkSvgFeatures;

/**
 * GTK_SVG_DEFAULT_FEATURES:
 *
 * The `GtkSvgFeatures` that are enabled by default.
 *
 * Since: 4.22
 */

#define GTK_SVG_DEFAULT_FEATURES \
  (GTK_SVG_ANIMATIONS | \
   GTK_SVG_SYSTEM_RESOURCES | \
   GTK_SVG_EXTERNAL_RESOURCES | \
   GTK_SVG_EXTENSIONS)

GDK_AVAILABLE_IN_4_22
void             gtk_svg_set_features      (GtkSvg         *self,
                                            GtkSvgFeatures  features);

GDK_AVAILABLE_IN_4_22
GtkSvgFeatures   gtk_svg_get_features      (GtkSvg         *self);

typedef enum
{
  GTK_SVG_ERROR_INVALID_SYNTAX,
  GTK_SVG_ERROR_INVALID_ELEMENT,
  GTK_SVG_ERROR_INVALID_ATTRIBUTE,
  GTK_SVG_ERROR_MISSING_ATTRIBUTE,
  GTK_SVG_ERROR_INVALID_REFERENCE,
  GTK_SVG_ERROR_FAILED_UPDATE,
  GTK_SVG_ERROR_FAILED_RENDERING,
  GTK_SVG_ERROR_IGNORED_ELEMENT,
  GTK_SVG_ERROR_LIMITS_EXCEEDED,
  GTK_SVG_ERROR_NOT_IMPLEMENTED,
  GTK_SVG_ERROR_FEATURE_DISABLED,
} GtkSvgError;

typedef struct
{
  size_t bytes;
  size_t lines;
  size_t line_chars;
} GtkSvgLocation;

#define GTK_SVG_ERROR (gtk_svg_error_quark ())

GDK_AVAILABLE_IN_4_22
GQuark       gtk_svg_error_quark               (void);
GDK_AVAILABLE_IN_4_22
const char * gtk_svg_error_get_element     (const GError *error);
GDK_AVAILABLE_IN_4_22
const char * gtk_svg_error_get_attribute   (const GError *error);
GDK_AVAILABLE_IN_4_22
const GtkSvgLocation *
              gtk_svg_error_get_start      (const GError *error);
GDK_AVAILABLE_IN_4_22
const GtkSvgLocation *
              gtk_svg_error_get_end        (const GError *error);
GDK_AVAILABLE_IN_4_24
const char * gtk_svg_error_get_input       (const GError *error);

G_END_DECLS

Messung V0.5 in Prozent
C=98 H=94 G=95

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-07-03) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik