📄 libmng_pixels.h
字号:
/* ************************************************************************** *//* * For conditions of distribution and use, * *//* * see copyright notice in libmng.h * *//* ************************************************************************** *//* * * *//* * project : libmng * *//* * file : libmng_pixels.h copyright (c) 2000-2004 G.Juyn * *//* * version : 1.0.9 * *//* * * *//* * purpose : Pixel-row management routines (definition) * *//* * * *//* * author : G.Juyn * *//* * * *//* * comment : Definition of the pixel-row management routines * *//* * * *//* * changes : 0.5.1 - 05/08/2000 - G.Juyn * *//* * - changed strict-ANSI stuff * *//* * * *//* * 0.5.2 - 05/22/2000 - G.Juyn * *//* * - added some JNG definitions * *//* * - added delta-image row-processing routines * *//* * 0.5.2 - 06/05/2000 - G.Juyn * *//* * - added support for RGB8_A8 canvasstyle * *//* * * *//* * 0.5.3 - 06/16/2000 - G.Juyn * *//* * - changed progressive-display processing * *//* * * *//* * 0.9.2 - 08/05/2000 - G.Juyn * *//* * - changed file-prefixes * *//* * * *//* * 0.9.3 - 08/26/2000 - G.Juyn * *//* * - added MAGN support * *//* * 0.9.3 - 09/07/2000 - G.Juyn * *//* * - added support for new filter_types * *//* * 0.9.3 - 10/16/2000 - G.Juyn * *//* * - added optional support for bKGD for PNG images * *//* * - added support for JDAA * *//* * 0.9.3 - 10/19/2000 - G.Juyn * *//* * - implemented delayed delta-processing * *//* * * *//* * 0.9.4 - 1/18/2001 - G.Juyn * *//* * - added "new" MAGN methods 3, 4 & 5 * *//* * * *//* * 1.0.1 - 04/21/2001 - G.Juyn (code by G.Kelly) * *//* * - added BGRA8 canvas with premultiplied alpha * *//* * * *//* * 1.0.5 - 08/15/2002 - G.Juyn * *//* * - completed PROM support * *//* * - completed delta-image support * *//* * 1.0.5 - 08/16/2002 - G.Juyn * *//* * - completed MAGN support (16-bit functions) * *//* * 1.0.5 - 08/19/2002 - G.Juyn * *//* * - B597134 - libmng pollutes the linker namespace * *//* * 1.0.5 - 09/22/2002 - G.Juyn * *//* * - added bgrx8 canvas (filler byte) * *//* * 1.0.5 - 09/23/2002 - G.Juyn * *//* * - added compose over/under routines for PAST processing * *//* * - added flip & tile routines for PAST processing * *//* * * *//* * 1.0.6 - 03/09/2003 - G.Juyn * *//* * - hiding 12-bit JPEG stuff * *//* * 1.0.6 - 05/11/2003 - G. Juyn * *//* * - added conditionals around canvas update routines * *//* * 1.0.6 - 06/09/2003 - G. R-P * *//* * - added conditionals around 8-bit magn routines * *//* * 1.0.6 - 07/07/2003 - G. R-P * *//* * - removed conditionals around 8-bit magn routines * *//* * - added conditionals around 16-bit and delta-PNG * *//* * supporting code * *//* * 1.0.6 - 07/29/2003 - G.R-P * *//* * - added SKIPCHUNK conditionals around PAST chunk support * *//* * 1.0.6 - 08/18/2003 - G.R-P * *//* * - added conditionals around 1, 2, and 4-bit prototypes * *//* * * *//* * 1.0.7 - 11/27/2003 - R.A * *//* * - added CANVAS_RGB565 and CANVAS_BGR565 * *//* * 1.0.7 - 12/06/2003 - R.A * *//* * - added CANVAS_RGBA565 and CANVAS_BGRA565 * *//* * 1.0.7 - 01/25/2004 - J.S * *//* * - added premultiplied alpha canvas' for RGBA, ARGB, ABGR * *//* * * *//* * 1.0.9 - 10/10/2004 - G.R-P. * *//* * - added MNG_NO_1_2_4BIT_SUPPORT * *//* * 1.0.9 - 10/14/2004 - G.Juyn * *//* * - added bgr565_a8 canvas-style (thanks to J. Elvander) * *//* * * *//* ************************************************************************** */#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)#pragma option -A /* force ANSI-C */#endif#ifndef _libmng_pixels_h_#define _libmng_pixels_h_/* ************************************************************************** *//* * * *//* * Progressive display check - checks to see if progressive display is * *//* * in order & indicates so * *//* * * *//* * The routine is called after a call to one of the display_xxx routines * *//* * if appropriate * *//* * * *//* * The refresh is warrented in the read_chunk routine (mng_read.c) * *//* * and only during read&display processing, since there's not much point * *//* * doing it from memory! * *//* * * *//* ************************************************************************** */mng_retcode mng_display_progressive_check (mng_datap pData);/* ************************************************************************** *//* * * *//* * Display routines - convert rowdata (which is already color-corrected) * *//* * to the output canvas, respecting any transparency information * *//* * * *//* ************************************************************************** */#ifndef MNG_SKIPCANVAS_RGB8mng_retcode mng_display_rgb8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGBA8mng_retcode mng_display_rgba8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGBA8_PMmng_retcode mng_display_rgba8_pm (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_ARGB8mng_retcode mng_display_argb8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_ARGB8_PMmng_retcode mng_display_argb8_pm (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGB8_A8mng_retcode mng_display_rgb8_a8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGR8mng_retcode mng_display_bgr8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGRX8mng_retcode mng_display_bgrx8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGRA8mng_retcode mng_display_bgra8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGRA8_PMmng_retcode mng_display_bgra8_pm (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_ABGR8mng_retcode mng_display_abgr8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_ABGR8_PMmng_retcode mng_display_abgr8_pm (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGB565mng_retcode mng_display_rgb565 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGBA565mng_retcode mng_display_rgba565 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGR565mng_retcode mng_display_bgr565 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGRA565mng_retcode mng_display_bgra565 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGR565_A8mng_retcode mng_display_bgr565_a8 (mng_datap pData);#endif/* ************************************************************************** *//* * * *//* * Background restore routines - restore the background with info from * *//* * the BACK and/or bKGD chunk and/or the app's background canvas * *//* * * *//* ************************************************************************** */mng_retcode mng_restore_bkgd_backimage (mng_datap pData);mng_retcode mng_restore_bkgd_backcolor (mng_datap pData);mng_retcode mng_restore_bkgd_bkgd (mng_datap pData);mng_retcode mng_restore_bkgd_bgcolor (mng_datap pData);#ifndef MNG_SKIPCANVAS_RGB8mng_retcode mng_restore_bkgd_rgb8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGR8mng_retcode mng_restore_bkgd_bgr8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGRX8mng_retcode mng_restore_bkgd_bgrx8 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_RGB565mng_retcode mng_restore_bkgd_rgb565 (mng_datap pData);#endif#ifndef MNG_SKIPCANVAS_BGR565mng_retcode mng_restore_bkgd_bgr565 (mng_datap pData);#endif/* ************************************************************************** *//* * * *//* * Row retrieval routines - retrieve processed & uncompressed row-data * *//* * from the current "object" * *//* * * *//* ************************************************************************** */mng_retcode mng_retrieve_g8 (mng_datap pData);mng_retcode mng_retrieve_rgb8 (mng_datap pData);mng_retcode mng_retrieve_idx8 (mng_datap pData);mng_retcode mng_retrieve_ga8 (mng_datap pData);mng_retcode mng_retrieve_rgba8 (mng_datap pData);#ifndef MNG_NO_16BIT_SUPPORTmng_retcode mng_retrieve_g16 (mng_datap pData);mng_retcode mng_retrieve_ga16 (mng_datap pData);mng_retcode mng_retrieve_rgb16 (mng_datap pData);mng_retcode mng_retrieve_rgba16 (mng_datap pData);#endif/* ************************************************************************** *//* * * *//* * Row storage routines - store processed & uncompressed row-data * *//* * into the current "object" * *//* * * *//* ************************************************************************** */#ifndef MNG_NO_1_2_4BIT_SUPPORTmng_retcode mng_store_g1 (mng_datap pData);mng_retcode mng_store_g2 (mng_datap pData);mng_retcode mng_store_g4 (mng_datap pData);mng_retcode mng_store_idx1 (mng_datap pData);mng_retcode mng_store_idx2 (mng_datap pData);mng_retcode mng_store_idx4 (mng_datap pData);#endifmng_retcode mng_store_idx8 (mng_datap pData);mng_retcode mng_store_rgb8 (mng_datap pData);mng_retcode mng_store_g8 (mng_datap pData);mng_retcode mng_store_ga8 (mng_datap pData);mng_retcode mng_store_rgba8 (mng_datap pData);#ifndef MNG_NO_16BIT_SUPPORTmng_retcode mng_store_g16 (mng_datap pData);mng_retcode mng_store_ga16 (mng_datap pData);mng_retcode mng_store_rgb16 (mng_datap pData);mng_retcode mng_store_rgba16 (mng_datap pData);#endif/* ************************************************************************** *//* * * *//* * Row storage routines (JPEG) - store processed & uncompressed row-data * *//* * into the current "object" * *//* * * *//* ************************************************************************** */#ifdef MNG_INCLUDE_JNGmng_retcode mng_store_jpeg_g8 (mng_datap pData);mng_retcode mng_store_jpeg_rgb8 (mng_datap pData);mng_retcode mng_store_jpeg_ga8 (mng_datap pData);mng_retcode mng_store_jpeg_rgba8 (mng_datap pData);#ifdef MNG_SUPPORT_JPEG12mng_retcode mng_store_jpeg_g12 (mng_datap pData);mng_retcode mng_store_jpeg_rgb12 (mng_datap pData);mng_retcode mng_store_jpeg_ga12 (mng_datap pData);mng_retcode mng_store_jpeg_rgba12 (mng_datap pData);#endifmng_retcode mng_store_jpeg_g8_alpha (mng_datap pData);mng_retcode mng_store_jpeg_rgb8_alpha (mng_datap pData);#ifndef MNG_NO_1_2_4BIT_SUPPORTmng_retcode mng_store_jpeg_g8_a1 (mng_datap pData);mng_retcode mng_store_jpeg_g8_a2 (mng_datap pData);mng_retcode mng_store_jpeg_g8_a4 (mng_datap pData);#endifmng_retcode mng_store_jpeg_g8_a8 (mng_datap pData);#ifndef MNG_NO_16BIT_SUPPORTmng_retcode mng_store_jpeg_g8_a16 (mng_datap pData);#endif#ifndef MNG_NO_1_2_4BIT_SUPPORTmng_retcode mng_store_jpeg_rgb8_a1 (mng_datap pData);mng_retcode mng_store_jpeg_rgb8_a2 (mng_datap pData);mng_retcode mng_store_jpeg_rgb8_a4 (mng_datap pData);#endifmng_retcode mng_store_jpeg_rgb8_a8 (mng_datap pData);#ifndef MNG_NO_16BIT_SUPPORTmng_retcode mng_store_jpeg_rgb8_a16 (mng_datap pData);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -