亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? png.h

?? 一款最完整的工業(yè)組態(tài)軟源代碼
?? H
?? 第 1 頁 / 共 5 頁
字號:
 *    zlib, upon which libpng depends, is also Y2K compliant.  It contains
 *    no date-related code.
 *
 *       Glenn Randers-Pehrson
 *       libpng maintainer
 *       PNG Development Group
 */

#ifndef PNG_H
#define PNG_H

/* This is not the place to learn how to use libpng.  The file libpng.txt
 * describes how to use libpng, and the file example.c summarizes it
 * with some code on which to build.  This file is useful for looking
 * at the actual function definitions and structure components.
 */

/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.7"
#define PNG_HEADER_VERSION_STRING \
   " libpng version 1.2.7 - September 12, 2004 (header)\n"

#define PNG_LIBPNG_VER_SONUM   0
#define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%

/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR   1
#define PNG_LIBPNG_VER_MINOR   2
#define PNG_LIBPNG_VER_RELEASE 7
/* This should match the numeric part of the final component of
 * PNG_LIBPNG_VER_STRING, omitting any leading zero: */

#define PNG_LIBPNG_VER_BUILD  0

#define PNG_LIBPNG_BUILD_ALPHA    1
#define PNG_LIBPNG_BUILD_BETA     2
#define PNG_LIBPNG_BUILD_RC       3
#define PNG_LIBPNG_BUILD_STABLE   4
#define PNG_LIBPNG_BUILD_TYPEMASK 7
#define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with STABLE only */
#define PNG_LIBPNG_BUILD_TYPE 4

/* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
 * We must not include leading zeros.
 * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
 * version 1.0.0 was mis-numbered 100 instead of 10000).  From
 * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release */
#define PNG_LIBPNG_VER 10207 /* 1.2.7 */

#ifndef PNG_VERSION_INFO_ONLY

/* include the compression library's header */
#include "zlib.h"

/* include all user configurable info, including optional assembler routines */
#include "pngconf.h"

/* Inhibit C++ name-mangling for libpng functions but not for system calls. */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* This file is arranged in several sections.  The first section contains
 * structure and type definitions.  The second section contains the external
 * library functions, while the third has the internal library functions,
 * which applications aren't expected to use directly.
 */

#ifndef PNG_NO_TYPECAST_NULL
#define int_p_NULL                (int *)NULL
#define png_bytep_NULL            (png_bytep)NULL
#define png_bytepp_NULL           (png_bytepp)NULL
#define png_doublep_NULL          (png_doublep)NULL
#define png_error_ptr_NULL        (png_error_ptr)NULL
#define png_flush_ptr_NULL        (png_flush_ptr)NULL
#define png_free_ptr_NULL         (png_free_ptr)NULL
#define png_infopp_NULL           (png_infopp)NULL
#define png_malloc_ptr_NULL       (png_malloc_ptr)NULL
#define png_read_status_ptr_NULL  (png_read_status_ptr)NULL
#define png_rw_ptr_NULL           (png_rw_ptr)NULL
#define png_structp_NULL          (png_structp)NULL
#define png_uint_16p_NULL         (png_uint_16p)NULL
#define png_voidp_NULL            (png_voidp)NULL
#define png_write_status_ptr_NULL (png_write_status_ptr)NULL
#else
#define int_p_NULL                NULL
#define png_bytep_NULL            NULL
#define png_bytepp_NULL           NULL
#define png_doublep_NULL          NULL
#define png_error_ptr_NULL        NULL
#define png_flush_ptr_NULL        NULL
#define png_free_ptr_NULL         NULL
#define png_infopp_NULL           NULL
#define png_malloc_ptr_NULL       NULL
#define png_read_status_ptr_NULL  NULL
#define png_rw_ptr_NULL           NULL
#define png_structp_NULL          NULL
#define png_uint_16p_NULL         NULL
#define png_voidp_NULL            NULL
#define png_write_status_ptr_NULL NULL
#endif

/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
/* Version information for C files, stored in png.c.  This had better match
 * the version above.
 */
#ifdef PNG_USE_GLOBAL_ARRAYS
PNG_EXPORT_VAR (const char) png_libpng_ver[18];
  /* need room for 99.99.99beta99z */
#else
#define png_libpng_ver png_get_header_ver(NULL)
#endif

#ifdef PNG_USE_GLOBAL_ARRAYS
/* This was removed in version 1.0.5c */
/* Structures to facilitate easy interlacing.  See png.c for more details */
PNG_EXPORT_VAR (const int FARDATA) png_pass_start[7];
PNG_EXPORT_VAR (const int FARDATA) png_pass_inc[7];
PNG_EXPORT_VAR (const int FARDATA) png_pass_ystart[7];
PNG_EXPORT_VAR (const int FARDATA) png_pass_yinc[7];
PNG_EXPORT_VAR (const int FARDATA) png_pass_mask[7];
PNG_EXPORT_VAR (const int FARDATA) png_pass_dsp_mask[7];
#ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
PNG_EXPORT_VAR (const int FARDATA) png_pass_width[7];
#endif
/* This isn't currently used.  If you need it, see png.c for more details.
PNG_EXPORT_VAR (const int FARDATA) png_pass_height[7];
*/
#endif

#endif /* PNG_NO_EXTERN */

/* Three color definitions.  The order of the red, green, and blue, (and the
 * exact size) is not important, although the size of the fields need to
 * be png_byte or png_uint_16 (as defined below).
 */
typedef struct png_color_struct
{
   png_byte red;
   png_byte green;
   png_byte blue;
} png_color;
typedef png_color FAR * png_colorp;
typedef png_color FAR * FAR * png_colorpp;

typedef struct png_color_16_struct
{
   png_byte index;    /* used for palette files */
   png_uint_16 red;   /* for use in red green blue files */
   png_uint_16 green;
   png_uint_16 blue;
   png_uint_16 gray;  /* for use in grayscale files */
} png_color_16;
typedef png_color_16 FAR * png_color_16p;
typedef png_color_16 FAR * FAR * png_color_16pp;

typedef struct png_color_8_struct
{
   png_byte red;   /* for use in red green blue files */
   png_byte green;
   png_byte blue;
   png_byte gray;  /* for use in grayscale files */
   png_byte alpha; /* for alpha channel files */
} png_color_8;
typedef png_color_8 FAR * png_color_8p;
typedef png_color_8 FAR * FAR * png_color_8pp;

/*
 * The following two structures are used for the in-core representation
 * of sPLT chunks.
 */
typedef struct png_sPLT_entry_struct
{
   png_uint_16 red;
   png_uint_16 green;
   png_uint_16 blue;
   png_uint_16 alpha;
   png_uint_16 frequency;
} png_sPLT_entry;
typedef png_sPLT_entry FAR * png_sPLT_entryp;
typedef png_sPLT_entry FAR * FAR * png_sPLT_entrypp;

/*  When the depth of the sPLT palette is 8 bits, the color and alpha samples
 *  occupy the LSB of their respective members, and the MSB of each member
 *  is zero-filled.  The frequency member always occupies the full 16 bits.
 */

typedef struct png_sPLT_struct
{
   png_charp name;           /* palette name */
   png_byte depth;           /* depth of palette samples */
   png_sPLT_entryp entries;  /* palette entries */
   png_int_32 nentries;      /* number of palette entries */
} png_sPLT_t;
typedef png_sPLT_t FAR * png_sPLT_tp;
typedef png_sPLT_t FAR * FAR * png_sPLT_tpp;

#ifdef PNG_TEXT_SUPPORTED
/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file,
 * and whether that contents is compressed or not.  The "key" field
 * points to a regular zero-terminated C string.  The "text", "lang", and
 * "lang_key" fields can be regular C strings, empty strings, or NULL pointers.
 * However, the * structure returned by png_get_text() will always contain
 * regular zero-terminated C strings (possibly empty), never NULL pointers,
 * so they can be safely used in printf() and other string-handling functions.
 */
typedef struct png_text_struct
{
   int  compression;       /* compression value:
                             -1: tEXt, none
                              0: zTXt, deflate
                              1: iTXt, none
                              2: iTXt, deflate  */
   png_charp key;          /* keyword, 1-79 character description of "text" */
   png_charp text;         /* comment, may be an empty string (ie "")
                              or a NULL pointer */
   png_size_t text_length; /* length of the text string */
#ifdef PNG_iTXt_SUPPORTED
   png_size_t itxt_length; /* length of the itxt string */
   png_charp lang;         /* language code, 0-79 characters
                              or a NULL pointer */
   png_charp lang_key;     /* keyword translated UTF-8 string, 0 or more
                              chars or a NULL pointer */
#endif
} png_text;
typedef png_text FAR * png_textp;
typedef png_text FAR * FAR * png_textpp;
#endif

/* Supported compression types for text in PNG files (tEXt, and zTXt).
 * The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */
#define PNG_TEXT_COMPRESSION_NONE_WR -3
#define PNG_TEXT_COMPRESSION_zTXt_WR -2
#define PNG_TEXT_COMPRESSION_NONE    -1
#define PNG_TEXT_COMPRESSION_zTXt     0
#define PNG_ITXT_COMPRESSION_NONE     1
#define PNG_ITXT_COMPRESSION_zTXt     2
#define PNG_TEXT_COMPRESSION_LAST     3  /* Not a valid value */

/* png_time is a way to hold the time in an machine independent way.
 * Two conversions are provided, both from time_t and struct tm.  There
 * is no portable way to convert to either of these structures, as far
 * as I know.  If you know of a portable way, send it to me.  As a side
 * note - PNG has always been Year 2000 compliant!
 */
typedef struct png_time_struct
{
   png_uint_16 year; /* full year, as in, 1995 */
   png_byte month;   /* month of year, 1 - 12 */
   png_byte day;     /* day of month, 1 - 31 */
   png_byte hour;    /* hour of day, 0 - 23 */
   png_byte minute;  /* minute of hour, 0 - 59 */
   png_byte second;  /* second of minute, 0 - 60 (for leap seconds) */
} png_time;
typedef png_time FAR * png_timep;
typedef png_time FAR * FAR * png_timepp;

#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
/* png_unknown_chunk is a structure to hold queued chunks for which there is
 * no specific support.  The idea is that we can use this to queue
 * up private chunks for output even though the library doesn't actually
 * know about their semantics.
 */
typedef struct png_unknown_chunk_t
{
    png_byte name[5];
    png_byte *data;
    png_size_t size;

    /* libpng-using applications should NOT directly modify this byte. */
    png_byte location; /* mode of operation at read time */
}
png_unknown_chunk;
typedef png_unknown_chunk FAR * png_unknown_chunkp;
typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp;
#endif

/* png_info is a structure that holds the information in a PNG file so
 * that the application can find out the characteristics of the image.
 * If you are reading the file, this structure will tell you what is
 * in the PNG file.  If you are writing the file, fill in the information
 * you want to put into the PNG file, then call png_write_info().
 * The names chosen should be very close to the PNG specification, so
 * consult that document for information about the meaning of each field.
 *
 * With libpng < 0.95, it was only possible to directly set and read the
 * the values in the png_info_struct, which meant that the contents and
 * order of the values had to remain fixed.  With libpng 0.95 and later,
 * however, there are now functions that abstract the contents of
 * png_info_struct from the application, so this makes it easier to use
 * libpng with dynamic libraries, and even makes it possible to use
 * libraries that don't have all of the libpng ancillary chunk-handing

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲宅男天堂在线观看无病毒 | 欧美在线观看视频一区二区| 亚洲18女电影在线观看| 26uuu欧美| 538在线一区二区精品国产| 丁香激情综合国产| 丝袜美腿亚洲综合| 国产精品国模大尺度视频| 欧美本精品男人aⅴ天堂| 在线精品视频免费观看| av一区二区三区四区| 精品一区二区三区免费| 亚洲成在人线免费| 亚洲欧美aⅴ...| 欧美高清一级片在线观看| 日韩亚洲电影在线| 欧美精品在线观看一区二区| 色婷婷国产精品综合在线观看| 国产精品一区免费在线观看| 日韩福利视频网| 亚洲在线免费播放| 亚洲情趣在线观看| 国产亚洲精品bt天堂精选| 日韩精品资源二区在线| 91麻豆精品国产91久久久更新时间| 色哟哟在线观看一区二区三区| 国产91丝袜在线18| 国产精品一区二区久久不卡| 久久av资源网| 麻豆精品视频在线观看免费 | 国产精品亚洲一区二区三区在线| 日本亚洲欧美天堂免费| 婷婷久久综合九色综合绿巨人| 亚洲三级电影网站| 亚洲同性gay激情无套| 中文字幕亚洲精品在线观看| 一区二区三区在线观看欧美| 亚洲国产高清在线观看视频| 精品播放一区二区| 久久伊人中文字幕| 久久综合狠狠综合久久综合88| 欧美成人a在线| 久久综合久久久久88| 精品成人一区二区三区四区| 精品少妇一区二区三区视频免付费 | 国产精品私人影院| 中文欧美字幕免费| 国产精品高潮呻吟久久| 国产精品福利一区二区| 亚洲日本va午夜在线影院| 亚洲免费在线观看视频| 午夜一区二区三区在线观看| 亚洲va天堂va国产va久| 日韩二区三区四区| 久久成人免费网站| 国产精品18久久久| 成人污视频在线观看| 色欧美日韩亚洲| 欧美精品在线一区二区三区| 欧美大片一区二区| 中文字幕av一区二区三区高 | 国产亚洲欧美在线| 中国av一区二区三区| 亚洲欧美日韩国产一区二区三区 | 555夜色666亚洲国产免| 久久一区二区三区四区| 国产精品国产三级国产aⅴ原创 | 懂色av一区二区三区蜜臀| av亚洲产国偷v产偷v自拍| 91毛片在线观看| 欧美精品三级日韩久久| 成人免费视频网站在线观看| 国产网站一区二区| 国产欧美一区二区精品性| 久久精品一区二区三区四区| www国产成人| 久久久久久久久97黄色工厂| 中文子幕无线码一区tr| 国产精品久久久久一区二区三区 | 亚洲午夜三级在线| 五月天久久比比资源色| 精品亚洲成a人在线观看| 成人国产精品视频| 777精品伊人久久久久大香线蕉| 国产亚洲综合色| 亚洲国产成人porn| 国产91精品一区二区麻豆网站| 色妞www精品视频| 日韩精品一区二区三区swag| 自拍偷拍国产亚洲| 蜜臀99久久精品久久久久久软件| 风流少妇一区二区| 欧美理论片在线| 国产欧美精品在线观看| 午夜精品福利在线| 成人av在线一区二区| 91精品国产欧美日韩| 国产精品高清亚洲| 精品一区二区久久久| 欧美在线观看一二区| 国产亚洲成aⅴ人片在线观看| 亚洲国产日日夜夜| 高清不卡一区二区| 日韩视频123| 亚洲一区二区三区爽爽爽爽爽| 国产精品1024久久| 91精品福利在线一区二区三区| 国产精品久久久一本精品| 麻豆精品国产91久久久久久| 在线免费亚洲电影| 综合精品久久久| 国产精品77777| 欧美不卡123| 日韩精品每日更新| 欧美做爰猛烈大尺度电影无法无天| 国产欧美综合在线观看第十页 | 91偷拍与自偷拍精品| wwww国产精品欧美| 久久精品国产一区二区三区免费看| 欧美视频一区二区三区在线观看| 一区在线观看免费| 国产91精品一区二区| 久久久青草青青国产亚洲免观| 精品一区二区三区免费观看 | 欧美性猛交xxxxxxxx| 亚洲免费在线视频| 99免费精品视频| 国产精品视频一二三| 粉嫩av一区二区三区在线播放| 久久综合九色综合97婷婷| 久久精品久久99精品久久| 日韩欧美一二区| 久久爱另类一区二区小说| 日韩美一区二区三区| 看电视剧不卡顿的网站| 欧美大片拔萝卜| 久久精品国产精品亚洲综合| 精品国产一区二区三区不卡| 麻豆专区一区二区三区四区五区| 欧美一二三四区在线| 久久99久久久久久久久久久| 日韩一区二区在线播放| 精品一区二区三区在线观看 | 久久久久久夜精品精品免费| 精品在线免费视频| 久久伊99综合婷婷久久伊| 国产盗摄精品一区二区三区在线| 久久久高清一区二区三区| 粉嫩av一区二区三区粉嫩| 国产精品国产三级国产aⅴ原创| 94-欧美-setu| 亚洲午夜视频在线| 日韩一区二区在线免费观看| 国产一区二三区| 亚洲国产精品二十页| 91视频观看视频| 亚洲成在线观看| 精品国产乱码久久久久久闺蜜| 国产精品夜夜爽| 一区二区三区91| 欧美一区二区久久久| 国产福利一区在线| 亚洲女人的天堂| 91精品国产色综合久久| 国产老女人精品毛片久久| 亚洲欧美综合色| 欧美精品视频www在线观看| 国产在线播放一区二区三区| 亚洲欧美日韩综合aⅴ视频| 欧美日韩在线播放三区四区| 久久国产精品色| 亚洲色图一区二区三区| 欧美一区二区啪啪| 风间由美一区二区av101| 亚洲国产中文字幕| 精品国产电影一区二区| 91色综合久久久久婷婷| 美国三级日本三级久久99| 国产精品美女久久久久久2018| 欧美日免费三级在线| 国内精品视频666| 一区二区高清免费观看影视大全 | 欧美精品乱码久久久久久按摩| 国产乱人伦精品一区二区在线观看 | 欧美日韩午夜在线视频| 国产米奇在线777精品观看| 亚洲美女视频一区| 精品国产91乱码一区二区三区| 99精品国产一区二区三区不卡| 免费在线观看日韩欧美| 最新国产の精品合集bt伙计| 日韩欧美国产综合在线一区二区三区| 成人免费视频网站在线观看| 麻豆国产一区二区| 亚洲乱码精品一二三四区日韩在线| 日韩一区二区电影在线| 色婷婷亚洲一区二区三区| 国产一区二区三区免费观看| 午夜欧美电影在线观看| 中文字幕亚洲不卡|