⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdk-pixdata.h

📁 windows平台下开发gtk程序所需要的库和头文件等
💻 H
字号:
/* GdkPixbuf library - GdkPixdata - functions for inlined pixbuf handling * Copyright (C) 1999, 2001 Tim Janik * * 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 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., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef __GDK_PIXDATA_H__#define __GDK_PIXDATA_H__#include        <gdk-pixbuf/gdk-pixbuf.h>G_BEGIN_DECLS/** * GDK_PIXBUF_MAGIC_NUMBER: * * Magic number for #GdkPixdata structures. **/#define GDK_PIXBUF_MAGIC_NUMBER (0x47646b50)    /* 'GdkP' *//** * GdkPixdataType: * @GDK_PIXDATA_COLOR_TYPE_RGB:  each pixel has red, green and blue samples. * @GDK_PIXDATA_COLOR_TYPE_RGBA: each pixel has red, green and blue samples  *    and an alpha value. * @GDK_PIXDATA_COLOR_TYPE_MASK: mask for the colortype flags of the enum. * @GDK_PIXDATA_SAMPLE_WIDTH_8: each sample has 8 bits. * @GDK_PIXDATA_SAMPLE_WIDTH_MASK: mask for the sample width flags of the enum. * @GDK_PIXDATA_ENCODING_RAW: the pixel data is in raw form.  * @GDK_PIXDATA_ENCODING_RLE: the pixel data is run-length encoded. Runs may  *    be up to 127 bytes long; their length is stored in a single byte  *    preceding the pixel data for the run. If a run is constant, its length *    byte has the high bit set and the pixel data consists of a single pixel *    which must be repeated.  * @GDK_PIXDATA_ENCODING_MASK: mask for the encoding flags of the enum. * * An enumeration containing three sets of flags for a #GdkPixdata struct:  * one for the used colorspace, one for the width of the samples and one  * for the encoding of the pixel data.   **/typedef enum{  /* colorspace + alpha */  GDK_PIXDATA_COLOR_TYPE_RGB    = 0x01,  GDK_PIXDATA_COLOR_TYPE_RGBA   = 0x02,  GDK_PIXDATA_COLOR_TYPE_MASK   = 0xff,  /* width, support 8bits only currently */  GDK_PIXDATA_SAMPLE_WIDTH_8    = 0x01 << 16,  GDK_PIXDATA_SAMPLE_WIDTH_MASK = 0x0f << 16,  /* encoding */  GDK_PIXDATA_ENCODING_RAW      = 0x01 << 24,  GDK_PIXDATA_ENCODING_RLE      = 0x02 << 24,  GDK_PIXDATA_ENCODING_MASK     = 0x0f << 24} GdkPixdataType;/** * GdkPixdata: * @magic: magic number. A valid #GdkPixdata structure must have  *    #GDK_PIXBUF_MAGIC_NUMBER here. * @length: less than 1 to disable length checks, otherwise  *    #GDK_PIXDATA_HEADER_LENGTH + length of @pixel_data.  * @pixdata_type: information about colorspace, sample width and  *    encoding, in a #GdkPixdataType.  * @rowstride: Distance in bytes between rows. * @width: Width of the image in pixels. * @height: Height of the image in pixels. * @pixel_data: @width x @height pixels, encoded according to @pixdata_type *   and @rowstride. * * A #GdkPixdata contains pixbuf information in a form suitable for  * serialization and streaming. **/typedef struct _GdkPixdata GdkPixdata;struct _GdkPixdata{  guint32 magic;        /* GDK_PIXBUF_MAGIC_NUMBER */  gint32  length;       /* <1 to disable length checks, otherwise:			 * GDK_PIXDATA_HEADER_LENGTH + pixel_data length			 */  guint32 pixdata_type; /* GdkPixdataType */  guint32 rowstride;  guint32 width;  guint32 height;  guint8 *pixel_data;};/** * GDK_PIXDATA_HEADER_LENGTH: * * The length of a #GdkPixdata structure without the @pixel_data pointer. **/#define	GDK_PIXDATA_HEADER_LENGTH	(4 + 4 + 4 + 4 + 4 + 4)/* the returned stream is plain htonl of GdkPixdata members + pixel_data */guint8*		gdk_pixdata_serialize	(const GdkPixdata	*pixdata,					 guint			*stream_length_p);gboolean	gdk_pixdata_deserialize	(GdkPixdata		*pixdata,					 guint			 stream_length,					 const guint8		*stream,					 GError		       **error);gpointer	gdk_pixdata_from_pixbuf	(GdkPixdata		*pixdata,					 const GdkPixbuf	*pixbuf,					 gboolean		 use_rle);GdkPixbuf*	gdk_pixbuf_from_pixdata	(const GdkPixdata	*pixdata,					 gboolean		 copy_pixels,					 GError		       **error);/**  * GdkPixdataDumpType: * @GDK_PIXDATA_DUMP_PIXDATA_STREAM: Generate pixbuf data stream (a single  *    string containing a serialized #GdkPixdata structure in network byte  *    order). * @GDK_PIXDATA_DUMP_PIXDATA_STRUCT: Generate #GdkPixdata structure (needs  *    the #GdkPixdata structure definition from gdk-pixdata.h). * @GDK_PIXDATA_DUMP_MACROS: Generate <function>*_ROWSTRIDE</function>,      *    <function>*_WIDTH</function>, <function>*_HEIGHT</function>, *    <function>*_BYTES_PER_PIXEL</function> and  *    <function>*_RLE_PIXEL_DATA</function> or <function>*_PIXEL_DATA</function> *    macro definitions for the image. * @GDK_PIXDATA_DUMP_GTYPES: Generate GLib data types instead of  *    standard C data types. * @GDK_PIXDATA_DUMP_CTYPES: Generate standard C data types instead of  *    GLib data types. * @GDK_PIXDATA_DUMP_STATIC: Generate static symbols. * @GDK_PIXDATA_DUMP_CONST: Generate const symbols. * @GDK_PIXDATA_DUMP_RLE_DECODER: Provide a <function>*_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp)</function>  *    macro definition  to  decode  run-length encoded image data. *   * An enumeration which is used by gdk_pixdata_to_csource() to * determine the form of C source to be generated. The three values * @GDK_PIXDATA_DUMP_PIXDATA_STREAM, @GDK_PIXDATA_DUMP_PIXDATA_STRUCT * and @GDK_PIXDATA_DUMP_MACROS are mutually exclusive, as are * @GDK_PIXBUF_DUMP_GTYPES and @GDK_PIXBUF_DUMP_CTYPES. The remaining * elements are optional flags that can be freely added.  **/typedef enum{  /* type of source to save */  GDK_PIXDATA_DUMP_PIXDATA_STREAM	= 0,  GDK_PIXDATA_DUMP_PIXDATA_STRUCT	= 1,  GDK_PIXDATA_DUMP_MACROS		= 2,  /* type of variables to use */  GDK_PIXDATA_DUMP_GTYPES		= 0,  GDK_PIXDATA_DUMP_CTYPES		= 1 << 8,  GDK_PIXDATA_DUMP_STATIC		= 1 << 9,  GDK_PIXDATA_DUMP_CONST		= 1 << 10,  /* save RLE decoder macro? */  GDK_PIXDATA_DUMP_RLE_DECODER		= 1 << 16} GdkPixdataDumpType;  GString*	gdk_pixdata_to_csource	(GdkPixdata		*pixdata,					 const gchar		*name,					 GdkPixdataDumpType	 dump_type);G_END_DECLS#endif /* __GDK_PIXDATA_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -