Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  gdktextureprivate.h

  Sprache: C
 

#pragma once

#include "gdktexture.h"

#include "gdkenums.h"
#include "gdkmemoryformatprivate.h"

G_BEGIN_DECLS

typedef struct _GdkTextureChain GdkTextureChain;

struct _GdkTextureChain
{
  gatomicrefcount ref_count;
  GMutex lock;
};

#define GDK_TEXTURE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_TEXTURE, GdkTextureClass))
#define GDK_IS_TEXTURE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_TEXTURE))
#define GDK_TEXTURE_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_TEXTURE, GdkTextureClass))

struct _GdkTexture
{
  GObject parent_instance;

  GdkMemoryFormat format;
  int width;
  int height;
  GdkColorState *color_state;

  gpointer render_key;
  gpointer render_data;
  GDestroyNotify render_notify;

  /* for diffing swapchain-like textures.
   * Textures in the same chain are connected in a double linked list which is
   * protected using the chain's shared mutex.
   */

  GdkTextureChain *chain;  /* lazy, atomic, shared by all chain links */
  GdkTexture *next_texture;  /* no reference, guarded by chain lock */
  GdkTexture *previous_texture;  /* no reference, guarded by chain lock */
  cairo_region_t *diff_to_previous;  /* guarded by chain lock */
};

struct _GdkTextureClass {
  GObjectClass parent_class;

  /* mandatory: Download in the given format into data */
  void                  (* download)                    (GdkTexture             *texture,
                                                         guchar                 *data,
                                                         const GdkMemoryLayout  *layout,
                                                         GdkColorState          *color_state);
};

gboolean                gdk_texture_can_load            (GBytes                 *bytes);

GdkTexture *            gdk_texture_new_for_surface     (cairo_surface_t        *surface);
cairo_surface_t *       gdk_texture_download_surface    (GdkTexture             *texture,
                                                         GdkColorState          *color_state);

GdkMemoryDepth          gdk_texture_get_depth           (GdkTexture             *self);

void                    gdk_texture_do_download         (GdkTexture             *texture,
                                                         guchar                 *data,
                                                         const GdkMemoryLayout  *layout,
                                                         GdkColorState          *color_state);
GBytes *                gdk_texture_download_bytes      (GdkTexture             *self,
                                                         GdkMemoryLayout        *out_layout);
void                    gdk_texture_diff                (GdkTexture             *self,
                                                         GdkTexture             *other,
                                                         cairo_region_t         *region);

void                    gdk_texture_set_diff            (GdkTexture             *self,
                                                         GdkTexture             *previous,
                                                         cairo_region_t         *diff);

gboolean                gdk_texture_set_render_data     (GdkTexture             *self,
                                                         gpointer                key,
                                                         gpointer                data,
                                                         GDestroyNotify          notify);
void                    gdk_texture_steal_render_data   (GdkTexture             *self);
void                    gdk_texture_clear_render_data   (GdkTexture             *self);
gpointer                gdk_texture_get_render_data     (GdkTexture             *self,
                                                         gpointer                key);

G_END_DECLS


Messung V0.5 in Prozent
C=98 H=96 G=96

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-07-02) ¤

*© 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