Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pygame/gtk_types.h
blob: f3e26bdd560709dc6ef92b133c743087839c7477 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// This file serves to allow access to a limited subset of GTK and GStreamer objects passed from PyGTK, without the full 
// GLib + GTK + GST development environment. 
// 
// Obviously, it is limited to working with a specific version of GTK, PyGTK and GStreamer, but these structures appear 
// to be fairly stable.
#ifndef GTK_TYPES_H
#define GTK_TYPES_H

#include <stdint.h>

typedef uint8_t guint8;
typedef int32_t gint;
typedef uint32_t guint;
typedef uint16_t guint16;
typedef uint64_t guint64;
typedef void* gpointer;

struct GTypeClass;
struct GData;

struct _GTypeInstance
{
  /*< private >*/
  GTypeClass *g_class;
};

typedef struct _GTypeInstance GTypeInstance;

struct  _GObject
{
  GTypeInstance g_type_instance;
  
  /*< private >*/
  guint         ref_count;
  GData        *qdata;
};

typedef struct _GObject GObject;

typedef enum
{
  GDK_IMAGE_NORMAL,
  GDK_IMAGE_SHARED,
  GDK_IMAGE_FASTEST
} GdkImageType;

typedef enum
{
  GDK_LSB_FIRST,
  GDK_MSB_FIRST
} GdkByteOrder;

struct GdkVisual;
struct GdkColormap;

typedef struct {
  GObject parent_instance;

  
  GdkImageType	type; /* read only. */
  GdkVisual    *visual;	    /* read only. visual used to create the image */
  GdkByteOrder	byte_order; /* read only. */
  gint		width; /* read only. */
  gint		height; /* read only. */
  guint16	depth; /* read only. */
  guint16	bpp;	        /* read only. bytes per pixel */
  guint16	bpl;	        /* read only. bytes per line */
  guint16       bits_per_pixel; /* read only. bits per pixel */
  gpointer	mem;

  GdkColormap  *colormap; /* read only. */
} GdkImage;

struct GSList;

typedef struct {
    PyObject_HEAD
    GObject *obj;
    PyObject *inst_dict; /* the instance dictionary -- must be last */
    PyObject *weakreflist; /* list of weak references */
    GSList *closures;
} PyGObject;

struct _GstMiniObject {
  GTypeInstance instance;
  /*< public >*/ /* with COW */
  gint refcount;
  guint flags;

  /*< private >*/
  gpointer _gst_reserved;
};

typedef struct _GstMiniObject GstMiniObject;

struct GstCaps;

typedef guint64	GstClockTime;

#define GST_PADDING		4

struct _GstBuffer {
  GstMiniObject		 mini_object;

  /*< public >*/ /* with COW */
  /* pointer to data and its size */
  guint8		*data;
  guint			 size;

  /* timestamp */
  GstClockTime		 timestamp;
  GstClockTime		 duration;

  /* the media type of this buffer */
  GstCaps		*caps;

  /* media specific offset */
  guint64		 offset;
  guint64		 offset_end;

  guint8                *malloc_data;

  /*< private >*/
  gpointer _gst_reserved[GST_PADDING];
};

typedef struct _GstBuffer GstBuffer;

#endif